]> git.lyx.org Git - lyx.git/blobdiff - src/kbmap.h
couple more fixes
[lyx.git] / src / kbmap.h
index 9c1ddecd2259d3858e4dcb7cef6050e96a7b6b8b..482ab6c10db3d21f2e081363c2f193bff9e8da19 100644 (file)
 #pragma interface
 #endif
 
-#include <list>
-#include <boost/smart_ptr.hpp>
-
 #include "LString.h"
+#include "frontends/key_state.h"
+#include "frontends/LyXKeySym.h"
+
+#include <list>
 
 class kb_sequence;
 
@@ -29,6 +30,7 @@ public:
         * Bind a key sequence to an action.
         * @return 0 on success, or position in string seq where error
         * occurs.
+        * See kb_sequence::parse for the syntax of the seq string
         */
        string::size_type bind(string const & seq, int action);
 
@@ -42,8 +44,8 @@ public:
         * @param seq the current key sequence so far
         * @return the action / LFUN_PREFIX / LFUN_UNKNOWN_ACTION
         */
-       int lookup(unsigned int key,
-                  unsigned int mod, kb_sequence * seq) const;
+       int lookup(LyXKeySymPtr key,
+                  key_modifier::state mod, kb_sequence * seq) const;
 
        /// Given an action, find all keybindings.
        string const findbinding(int action,
@@ -51,22 +53,22 @@ public:
 
        /**
         * Returns a string of the given keysym, with modifiers.
-        * @param key the key
+        * @param key the key as a keysym
         * @param mod the modifiers
         */
-       static string const printKeysym(unsigned int key, unsigned int mod);
+       static string const printKeysym(LyXKeySymPtr key,
+                                       key_modifier::state mod);
 
-       /// return the ISO value of a keysym
-       static char getiso(unsigned int i);
+       typedef std::pair<key_modifier::state, key_modifier::state> modifier_pair;
 
 private:
        ///
        struct kb_key {
                /// Keysym
-               unsigned int code;
+               LyXKeySymPtr code;
 
                /// Modifier masks
-               unsigned int mod;
+               modifier_pair mod;
 
                /// Keymap for prefix keys
                boost::shared_ptr<kb_keymap> table;
@@ -75,7 +77,6 @@ private:
                int action;
        };
 
-
        /**
         * Define an action for a key sequence.
         * @param r internal recursion level