openMSX
KeyboardSettings.hh
Go to the documentation of this file.
1 #ifndef KEYBOARDSETTINGS_HH
2 #define KEYBOARDSETTINGS_HH
3 
4 #include "Keys.hh"
5 #include <memory>
6 
7 namespace openmsx {
8 
9 class CommandController;
10 class BooleanSetting;
11 template <typename T> class EnumSetting;
12 
14 {
15 public:
18 
19  explicit KeyboardSettings(CommandController& commandController);
21 
22  Keys::KeyCode getDeadkeyHostKey(unsigned n) const;
29 
30 private:
31  std::unique_ptr<EnumSetting<Keys::KeyCode>> deadkeyHostKey[3];
32  std::unique_ptr<EnumSetting<Keys::KeyCode>> codeKanaHostKey;
33  std::unique_ptr<EnumSetting<KpEnterMode>> kpEnterMode;
34  std::unique_ptr<EnumSetting<MappingMode>> mappingMode;
35  std::unique_ptr<BooleanSetting> alwaysEnableKeypad;
36  std::unique_ptr<BooleanSetting> traceKeyPresses;
37  std::unique_ptr<BooleanSetting> autoToggleCodeKanaLock;
38 };
39 
40 } // namespace openmsx
41 
42 #endif
KeyboardSettings(CommandController &commandController)
BooleanSetting & getAlwaysEnableKeypad() const
KeyCode
Constants that identify keys and key modifiers.
Definition: Keys.hh:26
Keys::KeyCode getDeadkeyHostKey(unsigned n) const
BooleanSetting & getAutoToggleCodeKanaLock() const
EnumSetting< Keys::KeyCode > & getCodeKanaHostKey() const
BooleanSetting & getTraceKeyPresses() const
EnumSetting< KpEnterMode > & getKpEnterMode() const
EnumSetting< MappingMode > & getMappingMode() const