openMSX
Namespaces | Enumerations | Functions
Keys.hh File Reference
#include <SDL_stdinc.h>
#include <SDL_keycode.h>
#include <SDL_scancode.h>
#include <string>
#include <string_view>
Include dependency graph for Keys.hh:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  openmsx
 This file implemented 3 utility functions:
 
namespace  openmsx::Keys
 

Enumerations

enum  openmsx::Keys::KeyCode {
  openmsx::Keys::K_MASK = 0x1FFFF , openmsx::Keys::K_NONE = K_MASK , openmsx::Keys::K_UNKNOWN = 0 , openmsx::Keys::K_BACKSPACE = 8 ,
  openmsx::Keys::K_TAB = 9 , openmsx::Keys::K_CLEAR = 12 , openmsx::Keys::K_RETURN = 13 , openmsx::Keys::K_PAUSE = 19 ,
  openmsx::Keys::K_ESCAPE = 27 , openmsx::Keys::K_SPACE = ' ' , openmsx::Keys::K_EXCLAIM = '!' , openmsx::Keys::K_QUOTEDBL = '"' ,
  openmsx::Keys::K_HASH = '#' , openmsx::Keys::K_DOLLAR = '$' , openmsx::Keys::K_AMPERSAND = '&' , openmsx::Keys::K_QUOTE = '\'' ,
  openmsx::Keys::K_LEFTPAREN = '(' , openmsx::Keys::K_RIGHTPAREN = ')' , openmsx::Keys::K_ASTERISK = '*' , openmsx::Keys::K_PLUS = '+' ,
  openmsx::Keys::K_COMMA = ',' , openmsx::Keys::K_MINUS = '-' , openmsx::Keys::K_PERIOD = '.' , openmsx::Keys::K_SLASH = '/' ,
  openmsx::Keys::K_0 = '0' , openmsx::Keys::K_1 = '1' , openmsx::Keys::K_2 = '2' , openmsx::Keys::K_3 = '3' ,
  openmsx::Keys::K_4 = '4' , openmsx::Keys::K_5 = '5' , openmsx::Keys::K_6 = '6' , openmsx::Keys::K_7 = '7' ,
  openmsx::Keys::K_8 = '8' , openmsx::Keys::K_9 = '9' , openmsx::Keys::K_COLON = ':' , openmsx::Keys::K_SEMICOLON = ';' ,
  openmsx::Keys::K_LESS = '<' , openmsx::Keys::K_EQUALS = '=' , openmsx::Keys::K_GREATER = '>' , openmsx::Keys::K_QUESTION = '?' ,
  openmsx::Keys::K_AT = '@' , openmsx::Keys::K_LEFTBRACKET = '[' , openmsx::Keys::K_BACKSLASH = '\\' , openmsx::Keys::K_RIGHTBRACKET = ']' ,
  openmsx::Keys::K_CARET = '^' , openmsx::Keys::K_UNDERSCORE = '_' , openmsx::Keys::K_BACKQUOTE = '`' , openmsx::Keys::K_A = 'a' ,
  openmsx::Keys::K_B = 'b' , openmsx::Keys::K_C = 'c' , openmsx::Keys::K_D = 'd' , openmsx::Keys::K_E = 'e' ,
  openmsx::Keys::K_F = 'f' , openmsx::Keys::K_G = 'g' , openmsx::Keys::K_H = 'h' , openmsx::Keys::K_I = 'i' ,
  openmsx::Keys::K_J = 'j' , openmsx::Keys::K_K = 'k' , openmsx::Keys::K_L = 'l' , openmsx::Keys::K_M = 'm' ,
  openmsx::Keys::K_N = 'n' , openmsx::Keys::K_O = 'o' , openmsx::Keys::K_P = 'p' , openmsx::Keys::K_Q = 'q' ,
  openmsx::Keys::K_R = 'r' , openmsx::Keys::K_S = 's' , openmsx::Keys::K_T = 't' , openmsx::Keys::K_U = 'u' ,
  openmsx::Keys::K_V = 'v' , openmsx::Keys::K_W = 'w' , openmsx::Keys::K_X = 'x' , openmsx::Keys::K_Y = 'y' ,
  openmsx::Keys::K_Z = 'z' , openmsx::Keys::K_DELETE = 127 , openmsx::Keys::K_KP0 = 0x100 , openmsx::Keys::K_KP1 = 0x101 ,
  openmsx::Keys::K_KP2 = 0x102 , openmsx::Keys::K_KP3 = 0x103 , openmsx::Keys::K_KP4 = 0x104 , openmsx::Keys::K_KP5 = 0x105 ,
  openmsx::Keys::K_KP6 = 0x106 , openmsx::Keys::K_KP7 = 0x107 , openmsx::Keys::K_KP8 = 0x108 , openmsx::Keys::K_KP9 = 0x109 ,
  openmsx::Keys::K_KP_PERIOD = 0x10A , openmsx::Keys::K_KP_DIVIDE = 0x10B , openmsx::Keys::K_KP_MULTIPLY = 0x10C , openmsx::Keys::K_KP_MINUS = 0x10D ,
  openmsx::Keys::K_KP_PLUS = 0x10E , openmsx::Keys::K_KP_ENTER = 0x10F , openmsx::Keys::K_KP_EQUALS = 0x110 , openmsx::Keys::K_UP = 0x111 ,
  openmsx::Keys::K_DOWN = 0x112 , openmsx::Keys::K_RIGHT = 0x113 , openmsx::Keys::K_LEFT = 0x114 , openmsx::Keys::K_INSERT = 0x115 ,
  openmsx::Keys::K_HOME = 0x116 , openmsx::Keys::K_END = 0x117 , openmsx::Keys::K_PAGEUP = 0x118 , openmsx::Keys::K_PAGEDOWN = 0x119 ,
  openmsx::Keys::K_F1 = 0x11A , openmsx::Keys::K_F2 = 0x11B , openmsx::Keys::K_F3 = 0x11C , openmsx::Keys::K_F4 = 0x11D ,
  openmsx::Keys::K_F5 = 0x11E , openmsx::Keys::K_F6 = 0x11F , openmsx::Keys::K_F7 = 0x120 , openmsx::Keys::K_F8 = 0x121 ,
  openmsx::Keys::K_F9 = 0x122 , openmsx::Keys::K_F10 = 0x123 , openmsx::Keys::K_F11 = 0x124 , openmsx::Keys::K_F12 = 0x125 ,
  openmsx::Keys::K_F13 = 0x126 , openmsx::Keys::K_F14 = 0x127 , openmsx::Keys::K_F15 = 0x128 , openmsx::Keys::K_F16 = 0x129 ,
  openmsx::Keys::K_F17 = 0x12A , openmsx::Keys::K_F18 = 0x12B , openmsx::Keys::K_F19 = 0x144 , openmsx::Keys::K_F20 = 0x145 ,
  openmsx::Keys::K_F21 = 0x146 , openmsx::Keys::K_F22 = 0x147 , openmsx::Keys::K_F23 = 0x148 , openmsx::Keys::K_F24 = 0x149 ,
  openmsx::Keys::K_NUMLOCK = 0x12C , openmsx::Keys::K_CAPSLOCK = 0x12D , openmsx::Keys::K_SCROLLLOCK = 0x12E , openmsx::Keys::K_RSHIFT = 0x12F ,
  openmsx::Keys::K_LSHIFT = 0x130 , openmsx::Keys::K_RCTRL = 0x131 , openmsx::Keys::K_LCTRL = 0x132 , openmsx::Keys::K_RALT = 0x133 ,
  openmsx::Keys::K_LALT = 0x134 , openmsx::Keys::K_LSUPER = 0x137 , openmsx::Keys::K_RSUPER = 0x138 , openmsx::Keys::K_MODE = 0x139 ,
  openmsx::Keys::K_HELP = 0x13B , openmsx::Keys::K_PRINT = 0x13C , openmsx::Keys::K_SYSREQ = 0x13D , openmsx::Keys::K_MENU = 0x13F ,
  openmsx::Keys::K_POWER = 0x140 , openmsx::Keys::K_UNDO = 0x142 , openmsx::Keys::K_BACK = 0x143 , openmsx::Keys::K_ZENKAKU_HENKAKU = 0x10000 ,
  openmsx::Keys::K_MUHENKAN = 0x10001 , openmsx::Keys::K_HENKAN_MODE = 0x10002 , openmsx::Keys::K_HIRAGANA_KATAKANA = 0x10003 , openmsx::Keys::KM_SHIFT = 0x020000 ,
  openmsx::Keys::KM_CTRL = 0x040000 , openmsx::Keys::KM_ALT = 0x080000 , openmsx::Keys::KM_META = 0x100000 , openmsx::Keys::KM_MODE = 0x200000 ,
  openmsx::Keys::KD_PRESS = 0 , openmsx::Keys::KD_RELEASE = 0x400000
}
 Constants that identify keys and key modifiers. More...
 

Functions

KeyCode openmsx::Keys::getCode (std::string_view name)
 Translate key name to key code. More...
 
std::pair< KeyCode, KeyCode > openmsx::Keys::getCodes (SDL_Keycode keyCode, Uint16 mod=KMOD_NONE, SDL_Scancode scanCode=SDL_SCANCODE_UNKNOWN, bool release=false)
 Translate SDL_Keycode/SDL_Scancode into openMSX key/scan Keycode's. More...
 
std::string openmsx::Keys::getName (KeyCode keyCode)
 Translate key code to key name. More...
 
KeyCode openmsx::Keys::combine (KeyCode key, KeyCode modifier)
 Convenience method to create key combinations (hides ugly casts). More...