XenevaOS
Loading...
Searching...
No Matches
keymap.h
Go to the documentation of this file.
1//
2// keymap.h
3//
4// USPi - An USB driver for Raspberry Pi written in C
5// Copyright (C) 2014-2016 R. Stange <rsta2@o2online.de>
6//
7// This program is free software: you can redistribute it and/or modify
8// it under the terms of the GNU General Public License as published by
9// the Free Software Foundation, either version 3 of the License, or
10// (at your option) any later version.
11//
12// This program is distributed in the hope that it will be useful,
13// but WITHOUT ANY WARRANTY; without even the implied warranty of
14// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15// GNU General Public License for more details.
16//
17// You should have received a copy of the GNU General Public License
18// along with this program. If not, see <http://www.gnu.org/licenses/>.
19//
20#ifndef _uspi_keymap_h
21#define _uspi_keymap_h
22
23#include "uspi/types.h"
24
25#define PHY_MAX_CODE 127
26
27#define K_NORMTAB 0
28#define K_SHIFTTAB 1
29#define K_ALTTAB 2
30#define K_ALTSHIFTTAB 3
31
89
111
112typedef struct TKeyMap
113{
115
116 boolean m_bCapsLock;
117 boolean m_bNumLock;
119}
121
122void KeyMap (TKeyMap *pThis);
123void _KeyMap (TKeyMap *pThis);
124
125boolean KeyMapClearTable (TKeyMap *pThis, u8 nTable);
126boolean KeyMapSetEntry (TKeyMap *pThis, u8 nTable, u8 nPhyCode, u16 nValue);
127
128u16 KeyMapTranslate (TKeyMap *pThis, u8 nPhyCode, u8 nModifiers);
129const char *KeyMapGetString (TKeyMap *pThis, u16 nKeyCode, u8 nModifiers, char Buffer[2]);
130
132
133#endif
uint8_t u8
Definition kernel.h:20
uint16_t u16
Definition kernel.h:21
void _KeyMap(TKeyMap *pThis)
Definition keymap.c:118
boolean KeyMapClearTable(TKeyMap *pThis, u8 nTable)
Definition keymap.c:122
TSpecialKey
Definition keymap.h:33
@ KeyRight
Definition keymap.h:49
@ KeyTabulator
Definition keymap.h:38
@ KeyF9
Definition keymap.h:58
@ KeyEnd
Definition keymap.h:44
@ KeyMaxCode
Definition keymap.h:86
@ KeyInsert
Definition keymap.h:40
@ KeyNone
Definition keymap.h:34
@ KeyF7
Definition keymap.h:56
@ KeyF12
Definition keymap.h:61
@ KeyPrintScreen
Definition keymap.h:64
@ KeyKP_8
Definition keymap.h:80
@ KeyApplication
Definition keymap.h:62
@ KeyKP_0
Definition keymap.h:82
@ KeyF8
Definition keymap.h:57
@ KeyF6
Definition keymap.h:55
@ KeyKP_Add
Definition keymap.h:71
@ KeyKP_4
Definition keymap.h:76
@ KeyDelete
Definition keymap.h:43
@ KeyPause
Definition keymap.h:66
@ KeyF11
Definition keymap.h:60
@ KeyBackspace
Definition keymap.h:37
@ KeyKP_1
Definition keymap.h:73
@ KeySpace
Definition keymap.h:35
@ KeyEscape
Definition keymap.h:36
@ KeyF3
Definition keymap.h:52
@ KeyKP_Comma
Definition keymap.h:84
@ KeyHome
Definition keymap.h:41
@ KeyKP_Subtract
Definition keymap.h:70
@ KeyPageUp
Definition keymap.h:42
@ KeyKP_Enter
Definition keymap.h:72
@ KeyKP_6
Definition keymap.h:78
@ KeyKP_Period
Definition keymap.h:85
@ KeyNumLock
Definition keymap.h:67
@ KeyKP_Divide
Definition keymap.h:68
@ KeyF10
Definition keymap.h:59
@ KeyUp
Definition keymap.h:46
@ KeyKP_9
Definition keymap.h:81
@ KeyF4
Definition keymap.h:53
@ KeyKP_Center
Definition keymap.h:83
@ KeyKP_2
Definition keymap.h:74
@ KeyReturn
Definition keymap.h:39
@ KeyF2
Definition keymap.h:51
@ KeyKP_5
Definition keymap.h:77
@ KeyDown
Definition keymap.h:47
@ KeyKP_3
Definition keymap.h:75
@ KeyF5
Definition keymap.h:54
@ KeyPageDown
Definition keymap.h:45
@ KeyCapsLock
Definition keymap.h:63
@ KeyKP_7
Definition keymap.h:79
@ KeyLeft
Definition keymap.h:48
@ KeyF1
Definition keymap.h:50
@ KeyKP_Multiply
Definition keymap.h:69
@ KeyScrollLock
Definition keymap.h:65
#define K_ALTSHIFTTAB
Definition keymap.h:30
boolean KeyMapSetEntry(TKeyMap *pThis, u8 nTable, u8 nPhyCode, u16 nValue)
Definition keymap.c:139
u16 KeyMapTranslate(TKeyMap *pThis, u8 nPhyCode, u8 nModifiers)
Definition keymap.c:156
TSpecialAction
Definition keymap.h:91
@ ActionSelectConsole4
Definition keymap.h:98
@ ActionSelectConsole9
Definition keymap.h:103
@ ActionSelectConsole1
Definition keymap.h:95
@ ActionSwitchCapsLock
Definition keymap.h:92
@ ActionNone
Definition keymap.h:108
@ ActionSelectConsole7
Definition keymap.h:101
@ ActionSelectConsole8
Definition keymap.h:102
@ ActionSwitchScrollLock
Definition keymap.h:94
@ ActionSwitchNumLock
Definition keymap.h:93
@ ActionSelectConsole11
Definition keymap.h:105
@ ActionSelectConsole3
Definition keymap.h:97
@ ActionSelectConsole12
Definition keymap.h:106
@ ActionSelectConsole5
Definition keymap.h:99
@ ActionSelectConsole10
Definition keymap.h:104
@ ActionSelectConsole6
Definition keymap.h:100
@ ActionShutdown
Definition keymap.h:107
@ ActionSelectConsole2
Definition keymap.h:96
#define PHY_MAX_CODE
Definition keymap.h:25
u8 KeyMapGetLEDStatus(TKeyMap *pThis)
Definition keymap.c:281
const char * KeyMapGetString(TKeyMap *pThis, u16 nKeyCode, u8 nModifiers, char Buffer[2])
Definition keymap.c:232
void KeyMap(TKeyMap *pThis)
Definition keymap.c:106
Definition keymap.h:113
boolean m_bScrollLock
Definition keymap.h:118
boolean m_bCapsLock
Definition keymap.h:116
boolean m_bNumLock
Definition keymap.h:117
u16 m_KeyMap[PHY_MAX_CODE+1][K_ALTSHIFTTAB+1]
Definition keymap.h:114