]> git.lyx.org Git - lyx.git/blobdiff - src/kbmap.h
hopefully fix tex2lyx linking.
[lyx.git] / src / kbmap.h
index a5ea729b49340d7be4897d402a341344b9cc20cf..edadfaa9c641881f5e57f3c4b95f853561b5ed2e 100644 (file)
 #include "funcrequest.h"
 
 #include "frontends/key_state.h"
+#include "frontends/LyXKeySym.h"
 
 #include <boost/shared_ptr.hpp>
 
 #include <vector>
 #include <deque>
 
+
+namespace lyx {
+
 class kb_sequence;
-class LyXKeySym;
 
 /// Defines key maps and actions for key sequences
 class kb_keymap {
@@ -43,14 +46,12 @@ public:
        /// print all available keysyms
        std::string const print() const;
 
-       ///
-       typedef boost::shared_ptr<LyXKeySym> LyXKeySymPtr;
        /**
         * Look up a key press in the keymap.
         * @param key the keysym
         * @param mod the modifiers
         * @param seq the current key sequence so far
-        * @return the action / LFUN_PREFIX / LFUN_UNKNOWN_ACTION
+        * @return the action / LFUN_COMMAND_PREFIX / LFUN_UNKNOWN_ACTION
         */
        FuncRequest const &
        lookup(LyXKeySymPtr key,
@@ -65,6 +66,15 @@ public:
        /// Given an action, print the keybindings.
        std::string const printbindings(FuncRequest const & func) const;
 
+       /**
+        *  Given an action, find the first 1-key binding (if it exists).
+        *  The LyXKeySym pointer is 0 is no key is found.
+        *  [only used by the Qt/Mac frontend]
+        */
+       std::pair<LyXKeySym const *, key_modifier::state>
+       find1keybinding(FuncRequest const & func) const;
+
+
        /**
         * Returns a string of the given keysym, with modifiers.
         * @param key the key as a keysym
@@ -119,4 +129,10 @@ private:
        Table table;
 };
 
+/// Implementation is in lyx_main.C
+extern kb_keymap & theTopLevelKeymap();
+
+
+} // namespace lyx
+
 #endif // KBMAP_H