xbmc
XBMC_keyboard.h
1 /*
2  * SDL - Simple DirectMedia Layer
3  * Copyright (C) 1997-2009 Sam Lantinga
4  *
5  * SPDX-License-Identifier: LGPL-2.1-or-later
6  * See LICENSES/README.md for more information.
7  *
8  * Sam Lantinga
9  * slouken@libsdl.org
10  */
11 
12 #pragma once
13 
14 /* Include file for SDL keyboard event handling */
15 
16 #include "XBMC_keysym.h"
17 
18 #include <stdint.h>
19 
20 /* Keysym structure
21  - The scancode is hardware dependent, and should not be used by general
22  applications. If no hardware scancode is available, it will be 0.
23 
24  - The 'unicode' translated character is only available when character
25  translation is enabled by the XBMC_EnableUNICODE() API. If non-zero,
26  this is a UNICODE character corresponding to the keypress. If the
27  high 9 bits of the character are 0, then this maps to the equivalent
28  ASCII character:
29  char ch;
30  if ( (keysym.unicode & 0xFF80) == 0 ) {
31  ch = keysym.unicode & 0x7F;
32  } else {
33  An international character..
34  }
35  */
36 typedef struct XBMC_keysym
37 {
38  unsigned char scancode; /* hardware specific scancode */
39  XBMCKey sym; /* SDL virtual keysym */
40  XBMCMod mod; /* current key modifiers */
41  uint16_t unicode; /* translated character */
42 } XBMC_keysym;
43 
44 /* This is the mask which refers to all hotkey bindings */
45 #define XBMC_ALL_HOTKEYS 0xFFFFFFFF
Definition: XBMC_keyboard.h:36