summaryrefslogtreecommitdiffstats
path: root/app/keymap.c
blob: f6e529d6100e659d698801e23afb5c68f950d880 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
#include "project.h"

static int at_to_usb_keyboard[AT_SC_MAX]={
    [ AT_SC_GRAVE	 ] = USB_K_SC_GRAVE,
    [ AT_SC_1		 ] = USB_K_SC_1,
    [ AT_SC_2		 ] = USB_K_SC_2,
    [ AT_SC_3		 ] = USB_K_SC_3,
    [ AT_SC_4		 ] = USB_K_SC_4,
    [ AT_SC_5		 ] = USB_K_SC_5,
    [ AT_SC_6		 ] = USB_K_SC_6,
    [ AT_SC_7		 ] = USB_K_SC_7,
    [ AT_SC_8		 ] = USB_K_SC_8,
    [ AT_SC_9		 ] = USB_K_SC_9,
    [ AT_SC_0		 ] = USB_K_SC_0,
    [ AT_SC_MINUS	 ] = USB_K_SC_MINUS,
    [ AT_SC_EQUAL	 ] = USB_K_SC_EQUAL,
    [ AT_SC_BACKSPACE	 ] = USB_K_SC_BACKSPACE,
    [ AT_SC_TAB		 ] = USB_K_SC_TAB,
    [ AT_SC_Q		 ] = USB_K_SC_Q,
    [ AT_SC_W		 ] = USB_K_SC_W,
    [ AT_SC_E		 ] = USB_K_SC_E,
    [ AT_SC_R		 ] = USB_K_SC_R,
    [ AT_SC_T		 ] = USB_K_SC_T,
    [ AT_SC_Y		 ] = USB_K_SC_Y,
    [ AT_SC_U		 ] = USB_K_SC_U,
    [ AT_SC_I		 ] = USB_K_SC_I,
    [ AT_SC_O		 ] = USB_K_SC_O,
    [ AT_SC_P		 ] = USB_K_SC_P,
    [ AT_SC_LEFTBRACE	 ] = USB_K_SC_LEFTBRACE,
    [ AT_SC_RIGHTBRACE	 ] = USB_K_SC_RIGHTBRACE,
    [ AT_SC_BACKSLASH	 ] = USB_K_SC_BACKSLASH,
    [ AT_SC_CAPSLOCK	 ] = USB_K_SC_CAPSLOCK,
    [ AT_SC_A		 ] = USB_K_SC_A,
    [ AT_SC_S		 ] = USB_K_SC_S,
    [ AT_SC_D		 ] = USB_K_SC_D,
    [ AT_SC_F		 ] = USB_K_SC_F,
    [ AT_SC_G		 ] = USB_K_SC_G,
    [ AT_SC_H		 ] = USB_K_SC_H,
    [ AT_SC_J		 ] = USB_K_SC_J,
    [ AT_SC_K		 ] = USB_K_SC_K,
    [ AT_SC_L		 ] = USB_K_SC_L,
    [ AT_SC_SEMICOLON	 ] = USB_K_SC_SEMICOLON,
    [ AT_SC_APOSTROPHE	 ] = USB_K_SC_APOSTROPHE,
    [ AT_SC_ENTER	 ] = USB_K_SC_ENTER,
    [ AT_SC_LEFTSHIFT	 ] = USB_K_SC_LEFTSHIFT,
    [ AT_SC_Z		 ] = USB_K_SC_Z,
    [ AT_SC_X		 ] = USB_K_SC_X,
    [ AT_SC_C		 ] = USB_K_SC_C,
    [ AT_SC_V		 ] = USB_K_SC_V,
    [ AT_SC_B		 ] = USB_K_SC_B,
    [ AT_SC_N		 ] = USB_K_SC_N,
    [ AT_SC_M		 ] = USB_K_SC_M,
    [ AT_SC_COMMA	 ] = USB_K_SC_COMMA,
    [ AT_SC_DOT		 ] = USB_K_SC_DOT,
    [ AT_SC_SLASH	 ] = USB_K_SC_SLASH,
    [ AT_SC_RIGHTSHIFT	 ] = USB_K_SC_RIGHTSHIFT,
    [ AT_SC_LEFTCTRL	 ] = USB_K_SC_LEFTCTRL,
    [ AT_SC_LEFTALT	 ] = USB_K_SC_LEFTALT,
    [ AT_SC_SPACE	 ] = USB_K_SC_SPACE,
    [ AT_SC_RIGHTALT	 ] = USB_K_SC_RIGHTALT,
    [ AT_SC_RIGHTCTRL	 ] = USB_K_SC_RIGHTCTRL,
    [ AT_SC_INSERT	 ] = USB_K_SC_INSERT,
    [ AT_SC_DELETE	 ] = USB_K_SC_DELETE,
    [ AT_SC_LEFT	 ] = USB_K_SC_LEFT,
    [ AT_SC_HOME	 ] = USB_K_SC_HOME,
    [ AT_SC_END		 ] = USB_K_SC_END,
    [ AT_SC_UP		 ] = USB_K_SC_UP,
    [ AT_SC_DOWN	 ] = USB_K_SC_DOWN,
    [ AT_SC_PAGEUP	 ] = USB_K_SC_PAGEUP,
    [ AT_SC_PAGEDOWN	 ] = USB_K_SC_PAGEDOWN,
    [ AT_SC_RIGHT	 ] = USB_K_SC_RIGHT,
    [ AT_SC_NUMLOCK	 ] = USB_K_SC_NUMLOCK,
    [ AT_SC_KP7		 ] = USB_K_SC_KP7,
    [ AT_SC_KP4		 ] = USB_K_SC_KP4,
    [ AT_SC_KP1		 ] = USB_K_SC_KP1,
    [ AT_SC_KPSLASH	 ] = USB_K_SC_KPSLASH,
    [ AT_SC_KP8		 ] = USB_K_SC_KP8,
    [ AT_SC_KP5		 ] = USB_K_SC_KP5,
    [ AT_SC_KP2		 ] = USB_K_SC_KP2,
    [ AT_SC_KP0		 ] = USB_K_SC_KP0,
    [ AT_SC_KPASTERISK	 ] = USB_K_SC_KPASTERISK,
    [ AT_SC_KP9		 ] = USB_K_SC_KP9,
    [ AT_SC_KP6		 ] = USB_K_SC_KP6,
    [ AT_SC_KP3		 ] = USB_K_SC_KP3,
    [ AT_SC_KPDOT	 ] = USB_K_SC_KPDOT,
    [ AT_SC_KPMINUS	 ] = USB_K_SC_KPMINUS,
    [ AT_SC_KPPLUS	 ] = USB_K_SC_KPPLUS,
    [ AT_SC_KPENTER	 ] = USB_K_SC_KPENTER,
    [ AT_SC_ESC		 ] = USB_K_SC_ESC,
    [ AT_SC_F1		 ] = USB_K_SC_F1,
    [ AT_SC_F2		 ] = USB_K_SC_F2,
    [ AT_SC_F3		 ] = USB_K_SC_F3,
    [ AT_SC_F4		 ] = USB_K_SC_F4,
    [ AT_SC_F5		 ] = USB_K_SC_F5,
    [ AT_SC_F6		 ] = USB_K_SC_F6,
    [ AT_SC_F7		 ] = USB_K_SC_F7,
    [ AT_SC_F8		 ] = USB_K_SC_F8,
    [ AT_SC_F9		 ] = USB_K_SC_F9,
    [ AT_SC_F10		 ] = USB_K_SC_F10,
    [ AT_SC_F11		 ] = USB_K_SC_F11,
    [ AT_SC_F12		 ] = USB_K_SC_F12,
    [ AT_SC_SYSRQ	 ] = USB_K_SC_SYSRQ,
    [ AT_SC_SCROLLLOCK	 ] = USB_K_SC_SCROLLLOCK,
    [ AT_SC_PAUSE	 ] = USB_K_SC_PAUSE,
    [ AT_SC_LEFTMETA	 ] = USB_K_SC_LEFTMETA,
    [ AT_SC_RIGHTMETA	 ] = USB_K_SC_RIGHTMETA,
    [ AT_SC_MENU	 ] = USB_K_SC_MENU,
    [ AT_SC_POWER	 ] = USB_K_SC_POWER,
    [ AT_SC_SLEEP	 ] = USB_K_SC_SLEEP,
//    [ AT_SC_WAKEUP	 ] = USB_K_SC_WAKEUP,
//    [ AT_SC_DBE_KATAKANA ] = USB_K_SC_DBE_KATAKANA,
//    [ AT_SC_DBE_SBCSCHAR ] = USB_K_SC_DBE_SBCSCHAR,
//    [ AT_SC_CONVERT	 ] = USB_K_SC_CONVERT,
//    [ AT_SC_NONCONVERT	 ] = USB_K_SC_NONCONVERT,
};


static int at_to_usb_consumer[AT_SC_MAX]={
    [ AT_SC_HOMEPAGE		] = USB_C_BF_HOMEPAGE,
    [ AT_SC_MUTE		] = USB_C_BF_MUTE,
    [ AT_SC_VOLUMEUP		] = USB_C_BF_VOLUMEUP,
    [ AT_SC_VOLUMEDOWN		] = USB_C_BF_VOLUMEDOWN,
    [ AT_SC_KEY_PREVIOUSSONG	] = USB_C_BF_PREVIOUSSONG,
    [ AT_SC_KEY_PLAYPAUSE	] = USB_C_BF_PLAYPAUSE,
    [ AT_SC_KEY_STOPCD		] = USB_C_BF_STOPCD,
    [ AT_SC_KEY_NEXTSONG	] = USB_C_BF_NEXTSONG,
};




void scancode_dispatch(int key,int updown)
{

if (at_to_usb_keyboard[key]) 
	keyboard_dispatch(at_to_usb_keyboard[key],updown);

if (at_to_usb_consumer[key]) 
	consumer_dispatch(at_to_usb_consumer[key],updown);

}