summaryrefslogtreecommitdiffstats
path: root/app/keymap.c
blob: 515e0f6af8f218911f65b27ca9b33ae14517ce1a (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);

}