#include "FuncRequest.h"
-#include "frontends/key_state.h"
+#include "frontends/KeyModifier.h"
#include "frontends/KeySymbol.h"
#include "support/docstream.h"
/**
* print all available keysyms
- * @param forgui true if the string should use translations and
- * special characters.
+ * @param forgui true if the string should use translations and
+ * special characters.
*/
docstring const print(bool forgui) const;
* @return the action / LFUN_COMMAND_PREFIX / LFUN_UNKNOWN_ACTION
*/
FuncRequest const &
- lookup(KeySymbolPtr key,
- key_modifier::state mod, KeySequence * seq) const;
+ lookup(KeySymbol const & key, KeyModifier mod, KeySequence * seq) const;
///
typedef std::deque<KeySequence> Bindings;
* The KeySymbol pointer is 0 is no key is found.
* [only used by the Qt/Mac frontend]
*/
- std::pair<KeySymbol const *, key_modifier::state>
+ std::pair<KeySymbol, KeyModifier>
find1keybinding(FuncRequest const & func) const;
* @param mod the modifiers
*/
static std::string const printKeySym(KeySymbol const & key,
- key_modifier::state mod);
+ KeyModifier mod);
- typedef std::pair<key_modifier::state, key_modifier::state> modifier_pair;
+ typedef std::pair<KeyModifier, KeyModifier> ModifierPair;
-private:
///
struct Key {
/// Keysym
- KeySymbolPtr code;
+ KeySymbol code;
/// Modifier masks
- modifier_pair mod;
+ ModifierPair mod;
/// Keymap for prefix keys
boost::shared_ptr<KeyMap> table;
FuncRequest func;
};
+ ///
+ typedef std::vector<Key> Table;
+
+ Table::const_iterator begin() const { return table.begin(); }
+ Table::const_iterator end() const { return table.end(); }
+
+private:
/**
* Define an action for a key sequence.
* @param r internal recursion level
/// is the table empty ?
bool empty() const { return table.empty(); }
///
- typedef std::vector<Key> Table;
- ///
Table table;
};