X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fkbmap.h;h=b2f2af92102855399ef6157475687945befe392d;hb=dad1fc66e44a4dad94eb1e9ffd5736bf8f59ae6d;hp=7852e586c5e4580c6c8755aff55d88bf6f036fe0;hpb=8b8741cd5d7e960c5663911f8b69972419f6d37b;p=lyx.git diff --git a/src/kbmap.h b/src/kbmap.h index 7852e586c5..b2f2af9210 100644 --- a/src/kbmap.h +++ b/src/kbmap.h @@ -1,22 +1,21 @@ // -*- C++ -*- -/* ======================================================================= *\ - File : kbmap.h, kbmap.h,v 1.3 1996/12/10 04:35:57 larsbj Exp - Author : chb, 30.Oct.1995 - Docu : see kbmap.C - Purpose: class definitions for XKeyEvent keymap handling - \* ==================================================================== */ +/** + * \file kbmap.h + * Copyright 1995-2002 the LyX Team + * Read the file COPYING + * + * \author Lars Gullik Bjønnes + * \author John Levon + */ #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 "LString.h" class kb_sequence; @@ -27,12 +26,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); /// print all available keysyms string const print() const; - + /** * Look up a key press in the keymap. * @param key the keysym @@ -40,8 +40,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, @@ -49,37 +49,36 @@ 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 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 table; - + /// Action for !prefix keys int action; }; - /** * Define an action for a key sequence. * @param r internal recursion level */ void defkey(kb_sequence * seq, int action, unsigned int r = 0); - + /// Returns a string of the given key string const printKey(kb_key const & key) const; @@ -93,4 +92,4 @@ private: Table table; }; -#endif +#endif // KBMAP_H