X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fkbmap.h;h=f2a9cd12601447c41c8b57a18ebadcb287b0ccc8;hb=f268743f8c014ef2dadd260fd1a3873cb1d2038b;hp=cfad1f1c4bc6cb35e2dd267d21bae687b3ef56b5;hpb=97ef9131ba95f605a48d09595bd2ace0f993a55b;p=lyx.git diff --git a/src/kbmap.h b/src/kbmap.h index cfad1f1c4b..f2a9cd1260 100644 --- a/src/kbmap.h +++ b/src/kbmap.h @@ -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 - * \author John Levon + * \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 - -#include +#include 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 modifier_pair; private: - typedef std::pair 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 Table; + typedef std::vector Table; /// Table table; };