code.witches.io/go/sdl2@v0.1.1/keycode.go (about)

     1  package sdl
     2  
     3  // #include <SDL2/SDL_keycode.h>
     4  import "C"
     5  
     6  type KeyCode int32
     7  
     8  const (
     9  	KeyCodeToScanCodeMask = 1 << 30
    10  )
    11  
    12  const (
    13  	KeyCodeUnknown KeyCode = 0
    14  
    15  	KeyCodeReturn           KeyCode = '\r'
    16  	KeyCodeEscape           KeyCode = '\033'
    17  	KeyCodeBackspace        KeyCode = '\b'
    18  	KeyCodeTab              KeyCode = '\t'
    19  	KeyCodeSpace            KeyCode = ' '
    20  	KeyCodeExclamationMark  KeyCode = '!'
    21  	KeyCodeDoubleQuote      KeyCode = '"'
    22  	KeyCodeHash             KeyCode = '#'
    23  	KeyCodePercent          KeyCode = '%'
    24  	KeyCodeDollar           KeyCode = '$'
    25  	KeyCodeAmpersand        KeyCode = '&'
    26  	KeyCodeQuote            KeyCode = '\''
    27  	KeyCodeLeftParenthesis  KeyCode = '('
    28  	KeyCodeRightParenthesis KeyCode = ')'
    29  	KeyCodeAsterisk         KeyCode = '*'
    30  	KeyCodePlus             KeyCode = '+'
    31  	KeyCodeComma            KeyCode = ','
    32  	KeyCodeMinus            KeyCode = '-'
    33  	KeyCodePeriod           KeyCode = '.'
    34  	KeyCodeSlash            KeyCode = '/'
    35  	KeyCode0                KeyCode = '0'
    36  	KeyCode1                KeyCode = '1'
    37  	KeyCode2                KeyCode = '2'
    38  	KeyCode3                KeyCode = '3'
    39  	KeyCode4                KeyCode = '4'
    40  	KeyCode5                KeyCode = '5'
    41  	KeyCode6                KeyCode = '6'
    42  	KeyCode7                KeyCode = '7'
    43  	KeyCode8                KeyCode = '8'
    44  	KeyCode9                KeyCode = '9'
    45  	KeyCodeColon            KeyCode = ':'
    46  	KeyCodeSemilon          KeyCode = ';'
    47  	KeyCodeLess             KeyCode = '<'
    48  	KeyCodeEquals           KeyCode = '='
    49  	KeyCodeGreater          KeyCode = '>'
    50  	KeyCodeQuestionMark     KeyCode = '?'
    51  	KeyCodeAt               KeyCode = '@'
    52  
    53  	KeyCodeLeftBracket  KeyCode = '['
    54  	KeyCodeBackslash    KeyCode = '\\'
    55  	KeyCodeRightBracket KeyCode = ']'
    56  	KeyCodeCaret        KeyCode = '^'
    57  	KeyCodeUnderscore   KeyCode = '_'
    58  	KeyCodeBackquote    KeyCode = '`'
    59  	KeyCodeA            KeyCode = 'a'
    60  	KeyCodeB            KeyCode = 'b'
    61  	KeyCodeC            KeyCode = 'c'
    62  	KeyCodeD            KeyCode = 'd'
    63  	KeyCodeE            KeyCode = 'e'
    64  	KeyCodeF            KeyCode = 'f'
    65  	KeyCodeG            KeyCode = 'g'
    66  	KeyCodeH            KeyCode = 'h'
    67  	KeyCodeI            KeyCode = 'i'
    68  	KeyCodeJ            KeyCode = 'j'
    69  	KeyCodeK            KeyCode = 'k'
    70  	KeyCodeL            KeyCode = 'l'
    71  	KeyCodeM            KeyCode = 'm'
    72  	KeyCodeN            KeyCode = 'n'
    73  	KeyCodeO            KeyCode = 'o'
    74  	KeyCodeP            KeyCode = 'p'
    75  	KeyCodeQ            KeyCode = 'q'
    76  	KeyCodeR            KeyCode = 'r'
    77  	KeyCodeS            KeyCode = 's'
    78  	KeyCodeT            KeyCode = 't'
    79  	KeyCodeU            KeyCode = 'u'
    80  	KeyCodeV            KeyCode = 'v'
    81  	KeyCodeW            KeyCode = 'w'
    82  	KeyCodeX            KeyCode = 'x'
    83  	KeyCodeY            KeyCode = 'y'
    84  	KeyCodeZ            KeyCode = 'z'
    85  
    86  	KeyCodeCapsLock = KeyCodeToScanCodeMask | KeyCode(ScanCodeCapsLock)
    87  
    88  	KeyCodeF1  = KeyCodeToScanCodeMask | KeyCode(ScanCodeF1)
    89  	KeyCodeF2  = KeyCodeToScanCodeMask | KeyCode(ScanCodeF2)
    90  	KeyCodeF3  = KeyCodeToScanCodeMask | KeyCode(ScanCodeF3)
    91  	KeyCodeF4  = KeyCodeToScanCodeMask | KeyCode(ScanCodeF4)
    92  	KeyCodeF5  = KeyCodeToScanCodeMask | KeyCode(ScanCodeF5)
    93  	KeyCodeF6  = KeyCodeToScanCodeMask | KeyCode(ScanCodeF6)
    94  	KeyCodeF7  = KeyCodeToScanCodeMask | KeyCode(ScanCodeF7)
    95  	KeyCodeF8  = KeyCodeToScanCodeMask | KeyCode(ScanCodeF8)
    96  	KeyCodeF9  = KeyCodeToScanCodeMask | KeyCode(ScanCodeF9)
    97  	KeyCodeF10 = KeyCodeToScanCodeMask | KeyCode(ScanCodeF10)
    98  	KeyCodeF11 = KeyCodeToScanCodeMask | KeyCode(ScanCodeF11)
    99  	KeyCodeF12 = KeyCodeToScanCodeMask | KeyCode(ScanCodeF12)
   100  
   101  	KeyCodePrintScreen         = KeyCodeToScanCodeMask | KeyCode(ScanCodePrintScreen)
   102  	KeyCodeScrollLock          = KeyCodeToScanCodeMask | KeyCode(ScanCodeScrollLock)
   103  	KeyCodePause               = KeyCodeToScanCodeMask | KeyCode(ScanCodePause)
   104  	KeyCodeInsert              = KeyCodeToScanCodeMask | KeyCode(ScanCodeInsert)
   105  	KeyCodeHome                = KeyCodeToScanCodeMask | KeyCode(ScanCodeInsert)
   106  	KeyCodePageUp              = KeyCodeToScanCodeMask | KeyCode(ScanCodePageUp)
   107  	KeyCodeDelete      KeyCode = '\177'
   108  	KeyCodeEnd                 = KeyCodeToScanCodeMask | KeyCode(ScanCodeEnd)
   109  	KeyCodePageDown            = KeyCodeToScanCodeMask | KeyCode(ScanCodePageDown)
   110  	KeyCodeRight               = KeyCodeToScanCodeMask | KeyCode(ScanCodeRight)
   111  	KeyCodeLeft                = KeyCodeToScanCodeMask | KeyCode(ScanCodeLeft)
   112  	KeyCodeDown                = KeyCodeToScanCodeMask | KeyCode(ScanCodeDown)
   113  	KeyCodeUp                  = KeyCodeToScanCodeMask | KeyCode(ScanCodeUp)
   114  
   115  	KeyCodeNumLockClear   = KeyCodeToScanCodeMask | KeyCode(ScanCodeNumLockClear)
   116  	KeyCodeKeyPadDivide   = KeyCodeToScanCodeMask | KeyCode(ScanCodeKeyPadDivide)
   117  	KeyCodeKeyPadMultiply = KeyCodeToScanCodeMask | KeyCode(ScanCodeKeyPadMultiply)
   118  	KeyCodeKeyPadMinus    = KeyCodeToScanCodeMask | KeyCode(ScanCodeKeyPadMinus)
   119  	KeyCodeKeyPadPlus     = KeyCodeToScanCodeMask | KeyCode(ScanCodeKeyPadPlus)
   120  	KeyCodeKeyPadEnter    = KeyCodeToScanCodeMask | KeyCode(ScanCodeKeyPadEnter)
   121  	KeyCodeKeyPad1        = KeyCodeToScanCodeMask | KeyCode(ScanCodeKeyPad1)
   122  	KeyCodeKeyPad2        = KeyCodeToScanCodeMask | KeyCode(ScanCodeKeyPad2)
   123  	KeyCodeKeyPad3        = KeyCodeToScanCodeMask | KeyCode(ScanCodeKeyPad3)
   124  	KeyCodeKeyPad4        = KeyCodeToScanCodeMask | KeyCode(ScanCodeKeyPad4)
   125  	KeyCodeKeyPad5        = KeyCodeToScanCodeMask | KeyCode(ScanCodeKeyPad5)
   126  	KeyCodeKeyPad6        = KeyCodeToScanCodeMask | KeyCode(ScanCodeKeyPad6)
   127  	KeyCodeKeyPad7        = KeyCodeToScanCodeMask | KeyCode(ScanCodeKeyPad7)
   128  	KeyCodeKeyPad8        = KeyCodeToScanCodeMask | KeyCode(ScanCodeKeyPad8)
   129  	KeyCodeKeyPad9        = KeyCodeToScanCodeMask | KeyCode(ScanCodeKeyPad9)
   130  	KeyCodeKeyPad0        = KeyCodeToScanCodeMask | KeyCode(ScanCodeKeyPad0)
   131  	KeyCodeKeyPadPeriod   = KeyCodeToScanCodeMask | KeyCode(ScanCodeKeyPadPeriod)
   132  
   133  	KeyCodeApplication       = KeyCodeToScanCodeMask | KeyCode(ScanCodeApplication)
   134  	KeyCodePower             = KeyCodeToScanCodeMask | KeyCode(ScanCodePower)
   135  	KeyCodeKeyPadEquals      = KeyCodeToScanCodeMask | KeyCode(ScanCodeKeyPadEquals)
   136  	KeyCodeF13               = KeyCodeToScanCodeMask | KeyCode(ScanCodeF13)
   137  	KeyCodeF14               = KeyCodeToScanCodeMask | KeyCode(ScanCodeF14)
   138  	KeyCodeF15               = KeyCodeToScanCodeMask | KeyCode(ScanCodeF15)
   139  	KeyCodeF16               = KeyCodeToScanCodeMask | KeyCode(ScanCodeF16)
   140  	KeyCodeF17               = KeyCodeToScanCodeMask | KeyCode(ScanCodeF17)
   141  	KeyCodeF18               = KeyCodeToScanCodeMask | KeyCode(ScanCodeF18)
   142  	KeyCodeF19               = KeyCodeToScanCodeMask | KeyCode(ScanCodeF19)
   143  	KeyCodeF20               = KeyCodeToScanCodeMask | KeyCode(ScanCodeF20)
   144  	KeyCodeF21               = KeyCodeToScanCodeMask | KeyCode(ScanCodeF21)
   145  	KeyCodeF22               = KeyCodeToScanCodeMask | KeyCode(ScanCodeF22)
   146  	KeyCodeF23               = KeyCodeToScanCodeMask | KeyCode(ScanCodeF23)
   147  	KeyCodeF24               = KeyCodeToScanCodeMask | KeyCode(ScanCodeF24)
   148  	KeyCodeExecute           = KeyCodeToScanCodeMask | KeyCode(ScanCodeExecute)
   149  	KeyCodeHelp              = KeyCodeToScanCodeMask | KeyCode(ScanCodeHelp)
   150  	KeyCodeMenu              = KeyCodeToScanCodeMask | KeyCode(ScanCodeMenu)
   151  	KeyCodeSelect            = KeyCodeToScanCodeMask | KeyCode(ScanCodeSelect)
   152  	KeyCodeStop              = KeyCodeToScanCodeMask | KeyCode(ScanCodeStop)
   153  	KeyCodeAgain             = KeyCodeToScanCodeMask | KeyCode(ScanCodeAgain)
   154  	KeyCodeUndo              = KeyCodeToScanCodeMask | KeyCode(ScanCodeUndo)
   155  	KeyCodeCut               = KeyCodeToScanCodeMask | KeyCode(ScanCodeCut)
   156  	KeyCodeCopy              = KeyCodeToScanCodeMask | KeyCode(ScanCodeCopy)
   157  	KeyCodePaste             = KeyCodeToScanCodeMask | KeyCode(ScanCodePaste)
   158  	KeyCodeFind              = KeyCodeToScanCodeMask | KeyCode(ScanCodeFind)
   159  	KeyCodeMute              = KeyCodeToScanCodeMask | KeyCode(ScanCodeMute)
   160  	KeyCodeVolumeUp          = KeyCodeToScanCodeMask | KeyCode(ScanCodeVolumeUp)
   161  	KeyCodeVolumeDown        = KeyCodeToScanCodeMask | KeyCode(ScanCodeVolumeDown)
   162  	KeyCodeKeyPadComma       = KeyCodeToScanCodeMask | KeyCode(ScanCodeKeyPadComma)
   163  	KeyCodeKeyPadEqualsAS400 = KeyCodeToScanCodeMask | KeyCode(ScanCodeKeyPadEqualsAS400)
   164  
   165  	KeyCodeAlternateErase = KeyCodeToScanCodeMask | KeyCode(ScanCodeAlternateErase)
   166  	KeyCodeSystemRequest  = KeyCodeToScanCodeMask | KeyCode(ScanCodeSystemRequest)
   167  	KeyCodeCancel         = KeyCodeToScanCodeMask | KeyCode(ScanCodeCancel)
   168  	KeyCodeClear          = KeyCodeToScanCodeMask | KeyCode(ScanCodeClear)
   169  	KeyCodePrior          = KeyCodeToScanCodeMask | KeyCode(ScanCodePrior)
   170  	KeyCodeReturn2        = KeyCodeToScanCodeMask | KeyCode(ScanCodeReturn2)
   171  	KeyCodeSeparator      = KeyCodeToScanCodeMask | KeyCode(ScanCodeSeparator)
   172  	KeyCodeOut            = KeyCodeToScanCodeMask | KeyCode(ScanCodeOut)
   173  	KeyCodeOper           = KeyCodeToScanCodeMask | KeyCode(ScanCodeOper)
   174  	KeyCodeClearAgain     = KeyCodeToScanCodeMask | KeyCode(ScanCodeClearAgain)
   175  	KeyCodeCrSel          = KeyCodeToScanCodeMask | KeyCode(ScanCodeCrSel)
   176  	KeyCodeExSel          = KeyCodeToScanCodeMask | KeyCode(ScanCodeExSel)
   177  
   178  	KeyCodeKeyPad00                = KeyCodeToScanCodeMask | KeyCode(ScanCodeKeyPad00)
   179  	KeyCodeKeyPad000               = KeyCodeToScanCodeMask | KeyCode(ScanCodeKeyPad000)
   180  	KeyCodeThousandsSeparator      = KeyCodeToScanCodeMask | KeyCode(ScanCodeThousandsSeparator)
   181  	KeyCodeDecimalSeparator        = KeyCodeToScanCodeMask | KeyCode(ScanCodeDecimalSeparator)
   182  	KeyCodeCurrencyUnit            = KeyCodeToScanCodeMask | KeyCode(ScanCodeCurrencyUnit)
   183  	KeyCodeCurrencySubUnit         = KeyCodeToScanCodeMask | KeyCode(ScanCodeCurrencySubUnit)
   184  	KeyCodeKeyPadLeftParenthesis   = KeyCodeToScanCodeMask | KeyCode(ScanCodeKeyPadLeftParenthesis)
   185  	KeyCodeKeyPadRightParenthesis  = KeyCodeToScanCodeMask | KeyCode(ScanCodeKeyPadRightParenthesis)
   186  	KeyCodeKeyPadLeftBrace         = KeyCodeToScanCodeMask | KeyCode(ScanCodeKeyPadLeftBrace)
   187  	KeyCodeKeyPadRightBrace        = KeyCodeToScanCodeMask | KeyCode(ScanCodeKeyPadRightBrace)
   188  	KeyCodeKeyPadTab               = KeyCodeToScanCodeMask | KeyCode(ScanCodeKeyPadTab)
   189  	KeyCodeKeyPadBackspace         = KeyCodeToScanCodeMask | KeyCode(ScanCodeKeyPadBackspace)
   190  	KeyCodeKeyPadA                 = KeyCodeToScanCodeMask | KeyCode(ScanCodeKeyPadA)
   191  	KeyCodeKeyPadB                 = KeyCodeToScanCodeMask | KeyCode(ScanCodeKeyPadB)
   192  	KeyCodeKeyPadC                 = KeyCodeToScanCodeMask | KeyCode(ScanCodeKeyPadC)
   193  	KeyCodeKeyPadD                 = KeyCodeToScanCodeMask | KeyCode(ScanCodeKeyPadD)
   194  	KeyCodeKeyPadE                 = KeyCodeToScanCodeMask | KeyCode(ScanCodeKeyPadE)
   195  	KeyCodeKeyPadF                 = KeyCodeToScanCodeMask | KeyCode(ScanCodeKeyPadF)
   196  	KeyCodeKeyPadXor               = KeyCodeToScanCodeMask | KeyCode(ScanCodeKeyPadXor)
   197  	KeyCodeKeyPadPower             = KeyCodeToScanCodeMask | KeyCode(ScanCodeKeyPadPower)
   198  	KeyCodeKeyPadPercent           = KeyCodeToScanCodeMask | KeyCode(ScanCodeKeyPadPercent)
   199  	KeyCodeKeyPadLess              = KeyCodeToScanCodeMask | KeyCode(ScanCodeKeyPadLess)
   200  	KeyCodeKeyPadGreater           = KeyCodeToScanCodeMask | KeyCode(ScanCodeKeyPadGreater)
   201  	KeyCodeKeyPadAmpersand         = KeyCodeToScanCodeMask | KeyCode(ScanCodeKeyPadAmpersand)
   202  	KeyCodeKeyPadDoubleAmpersand   = KeyCodeToScanCodeMask | KeyCode(ScanCodeKeyPadDoubleAmpersand)
   203  	KeyCodeKeyPadVerticalBar       = KeyCodeToScanCodeMask | KeyCode(ScanCodeKeyPadVerticalBar)
   204  	KeyCodeKeyPadDoubleVerticalBar = KeyCodeToScanCodeMask | KeyCode(ScanCodeKeyPadDoubleVerticalBar)
   205  	KeyCodeKeyPadColon             = KeyCodeToScanCodeMask | KeyCode(ScanCodeKeyPadColon)
   206  	KeyCodeKeyPadHash              = KeyCodeToScanCodeMask | KeyCode(ScanCodeKeyPadHash)
   207  	KeyCodeKeyPadSpace             = KeyCodeToScanCodeMask | KeyCode(ScanCodeKeyPadSpace)
   208  	KeyCodeKeyPadAt                = KeyCodeToScanCodeMask | KeyCode(ScanCodeKeyPadAt)
   209  	KeyCodeKeyPadExclamationMark   = KeyCodeToScanCodeMask | KeyCode(ScanCodeKeyPadExclamationMark)
   210  	KeyCodeKeyPadMemoryStore       = KeyCodeToScanCodeMask | KeyCode(ScanCodeKeyPadMemoryStore)
   211  	KeyCodeKeyPadMemoryRecall      = KeyCodeToScanCodeMask | KeyCode(ScanCodeKeyPadMemoryRecall)
   212  	KeyCodeKeyPadMemoryClear       = KeyCodeToScanCodeMask | KeyCode(ScanCodeKeyPadMemoryClear)
   213  	KeyCodeKeyPadMemoryAdd         = KeyCodeToScanCodeMask | KeyCode(ScanCodeKeyPadMemoryAdd)
   214  	KeyCodeKeyPadMemorySubtract    = KeyCodeToScanCodeMask | KeyCode(ScanCodeKeyPadMemorySubtract)
   215  	KeyCodeKeyPadMemoryMultiply    = KeyCodeToScanCodeMask | KeyCode(ScanCodeKeyPadMemoryMultiply)
   216  	KeyCodeKeyPadMemoryDivide      = KeyCodeToScanCodeMask | KeyCode(ScanCodeKeyPadMemoryDivide)
   217  	KeyCodeKeyPadPlusMinus         = KeyCodeToScanCodeMask | KeyCode(ScanCodeKeyPadPlusMinus)
   218  	KeyCodeKeyPadClear             = KeyCodeToScanCodeMask | KeyCode(ScanCodeKeyPadClear)
   219  	KeyCodeKeyPadClearEntry        = KeyCodeToScanCodeMask | KeyCode(ScanCodeKeyPadClearEntry)
   220  	KeyCodeKeyPadBinary            = KeyCodeToScanCodeMask | KeyCode(ScanCodeKeyPadBinary)
   221  	KeyCodeKeyPadOctal             = KeyCodeToScanCodeMask | KeyCode(ScanCodeKeyPadOctal)
   222  	KeyCodeKeyPadDecimal           = KeyCodeToScanCodeMask | KeyCode(ScanCodeKeyPadDecimal)
   223  	KeyCodeKeyPadHexadecimal       = KeyCodeToScanCodeMask | KeyCode(ScanCodeKeyPadHexadecimal)
   224  
   225  	KeyCodeLeftControl  = KeyCodeToScanCodeMask | KeyCode(ScanCodeLeftControl)
   226  	KeyCodeLeftShift    = KeyCodeToScanCodeMask | KeyCode(ScanCodeLeftShift)
   227  	KeyCodeLeftAlt      = KeyCodeToScanCodeMask | KeyCode(ScanCodeLeftAlt)
   228  	KeyCodeLeftGUI      = KeyCodeToScanCodeMask | KeyCode(ScanCodeLeftGUI)
   229  	KeyCodeRightControl = KeyCodeToScanCodeMask | KeyCode(ScanCodeRightControl)
   230  	KeyCodeRightShift   = KeyCodeToScanCodeMask | KeyCode(ScanCodeRightShift)
   231  	KeyCodeRightAlt     = KeyCodeToScanCodeMask | KeyCode(ScanCodeRightAlt)
   232  	KeyCodeRightGUI     = KeyCodeToScanCodeMask | KeyCode(ScanCodeRightGUI)
   233  
   234  	KeyCodeMode = KeyCodeToScanCodeMask | KeyCode(ScanCodeMode)
   235  
   236  	KeyCodeAudioNext                   = KeyCodeToScanCodeMask | KeyCode(ScanCodeAudioNext)
   237  	KeyCodeAudioPrevious               = KeyCodeToScanCodeMask | KeyCode(ScanCodeAudioPrevious)
   238  	KeyCodeAudioStop                   = KeyCodeToScanCodeMask | KeyCode(ScanCodeAudioStop)
   239  	KeyCodeAudioPlay                   = KeyCodeToScanCodeMask | KeyCode(ScanCodeAudioPlay)
   240  	KeyCodeAudioMute                   = KeyCodeToScanCodeMask | KeyCode(ScanCodeAudioMute)
   241  	KeyCodeMediaSelect                 = KeyCodeToScanCodeMask | KeyCode(ScanCodeMediaSelect)
   242  	KeyCodeWWW                         = KeyCodeToScanCodeMask | KeyCode(ScanCodeWWW)
   243  	KeyCodeMail                        = KeyCodeToScanCodeMask | KeyCode(ScanCodeMail)
   244  	KeyCodeCalculator                  = KeyCodeToScanCodeMask | KeyCode(ScanCodeCalculator)
   245  	KeyCodeComputer                    = KeyCodeToScanCodeMask | KeyCode(ScanCodeComputer)
   246  	KeyCodeApplicationControlSearch    = KeyCodeToScanCodeMask | KeyCode(ScanCodeApplicationControlSearch)
   247  	KeyCodeApplicationControlHome      = KeyCodeToScanCodeMask | KeyCode(ScanCodeApplicationControlHome)
   248  	KeyCodeApplicationControlBack      = KeyCodeToScanCodeMask | KeyCode(ScanCodeApplicationControlBack)
   249  	KeyCodeApplicationControlForward   = KeyCodeToScanCodeMask | KeyCode(ScanCodeApplicationControlForward)
   250  	KeyCodeApplicationControlStop      = KeyCodeToScanCodeMask | KeyCode(ScanCodeApplicationControlStop)
   251  	KeyCodeApplicationControlRefresh   = KeyCodeToScanCodeMask | KeyCode(ScanCodeApplicationControlRefresh)
   252  	KeyCodeApplicationControlBookmarks = KeyCodeToScanCodeMask | KeyCode(ScanCodeApplicationControlBookmarks)
   253  
   254  	KeyCodeBrightnessDown             = KeyCodeToScanCodeMask | KeyCode(ScanCodeBrightnessDown)
   255  	KeyCodeBrightnessUp               = KeyCodeToScanCodeMask | KeyCode(ScanCodeBrightnessUp)
   256  	KeyCodeDisplaySwitch              = KeyCodeToScanCodeMask | KeyCode(ScanCodeDisplaySwitch)
   257  	KeyCodeKeyboardIlluminationToggle = KeyCodeToScanCodeMask | KeyCode(ScanCodeKeyboardIlluminationToggle)
   258  	KeyCodeKeyboardIlluminationDown   = KeyCodeToScanCodeMask | KeyCode(ScanCodeKeyboardIlluminationDown)
   259  	KeyCodeKeyboardIlluminationUp     = KeyCodeToScanCodeMask | KeyCode(ScanCodeKeyboardIlluminationUp)
   260  	KeyCodeEject                      = KeyCodeToScanCodeMask | KeyCode(ScanCodeEject)
   261  	KeyCodeSleep                      = KeyCodeToScanCodeMask | KeyCode(ScanCodeSleep)
   262  	KeyCodeApplication1               = KeyCodeToScanCodeMask | KeyCode(ScanCodeApplication1)
   263  	KeyCodeApplication2               = KeyCodeToScanCodeMask | KeyCode(ScanCodeApplication2)
   264  
   265  	KeyCodeAudioRewind      = KeyCodeToScanCodeMask | KeyCode(ScanCodeAudioRewind)
   266  	KeyCodeAudioFastForward = KeyCodeToScanCodeMask | KeyCode(ScanCodeAudioFastForward)
   267  )
   268  
   269  type KeyModifiers uint16
   270  
   271  const (
   272  	KeyModifierNone KeyModifiers = 0
   273  )
   274  
   275  const (
   276  	KeyModifierLeftShift KeyModifiers = 0x0001 << iota
   277  	KeyModifierRightShift
   278  )
   279  
   280  const (
   281  	KeyModifierLeftControl KeyModifiers = 0x0040 << iota
   282  	KeyModifierRightControl
   283  	KeyModifierLeftAlt
   284  	KeyModifierRightAlt
   285  	KeyModifierLeftGUI
   286  	KeyModifierRightGUI
   287  	KeyModifierNumLock
   288  	KeyModifierCapsLock
   289  	KeyModifierMode
   290  	KeyModifierReserved
   291  )
   292  
   293  const (
   294  	KeyModifierControl = KeyModifierLeftControl | KeyModifierRightControl
   295  	KeyModifierShift   = KeyModifierLeftShift | KeyModifierRightShift
   296  	KeyModifierAlt     = KeyModifierLeftAlt | KeyModifierRightAlt
   297  	KeyModifierGUI     = KeyModifierLeftGUI | KeyModifierRightGUI
   298  )