]> git.lyx.org Git - lyx.git/blobdiff - src/kbmap.h
The Gtk patch.
[lyx.git] / src / kbmap.h
index cfad1f1c4bc6cb35e2dd267d21bae687b3ef56b5..f2a9cd12601447c41c8b57a18ebadcb287b0ccc8 100644 (file)
@@ -1,26 +1,24 @@
 // -*- C++ -*-
 /**
  * \file kbmap.h
- * Copyright 1995-2002 the LyX Team
- * Read the file COPYING
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
  *
- * \author Lars Gullik Bjønnes <larsbj@lyx.org>
- * \author John Levon <moz@compsoc.man.ac.uk>
+ * \author Lars Gullik Bjønnes
+ * \author Jean-Marc Lasgouttes
+ * \author John Levon
+ *
+ * Full author contact details are available in file CREDITS.
  */
 
 #ifndef KBMAP_H
 #define KBMAP_H
 
-#ifdef __GNUG__
-#pragma interface
-#endif
-
 #include "LString.h"
 #include "frontends/key_state.h"
+#include "frontends/LyXKeySym.h"
 
-#include <boost/shared_ptr.hpp>
-
-#include <list>
+#include <vector>
 
 class kb_sequence;
 
@@ -31,9 +29,13 @@ 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);
 
+       // Parse a bind file
+       bool kb_keymap::read(string const & bind_file);
+
        /// print all available keysyms
        string const print() const;
 
@@ -44,7 +46,7 @@ public:
         * @param seq the current key sequence so far
         * @return the action / LFUN_PREFIX / LFUN_UNKNOWN_ACTION
         */
-       int lookup(unsigned int key,
+       int lookup(LyXKeySymPtr key,
                   key_modifier::state mod, kb_sequence * seq) const;
 
        /// Given an action, find all keybindings.
@@ -53,21 +55,19 @@ 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, key_modifier::state 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:
-       typedef std::pair<key_modifier::state, key_modifier::state> modifier_pair;
        ///
        struct kb_key {
                /// Keysym
-               unsigned int code;
+               LyXKeySymPtr code;
 
                /// Modifier masks
                modifier_pair mod;
@@ -79,7 +79,6 @@ private:
                int action;
        };
 
-
        /**
         * Define an action for a key sequence.
         * @param r internal recursion level
@@ -94,7 +93,7 @@ private:
                return table.empty();
        }
        ///
-       typedef std::list<kb_key> Table;
+       typedef std::vector<kb_key> Table;
        ///
        Table table;
 };