#include <unistd.h>
#include "../../../dev/kbdmap.h"
#define S KBD_MODE_STRING
#define DG (KBD_MODE_DEAD | KBD_MODE_GRAVE)
#define DA (KBD_MODE_DEAD | KBD_MODE_ACUTE)
#define DC (KBD_MODE_DEAD | KBD_MODE_CIRC)
#define DT (KBD_MODE_DEAD | KBD_MODE_TILDE)
#define DD (KBD_MODE_DEAD | KBD_MODE_DIER)
#define C KBD_MODE_CAPS
#define K KBD_MODE_KPAD
struct kbdmap kbdmap = {
{
0, '`',
0, '1',
0, '2',
0, '3',
0, '4',
0, '5',
0, '6',
0, '7',
0, '8',
0, '9',
0, '0',
0, 'ß',
DA, '\'',
0, '\\',
0, 0,
K, '0',
C, 'q',
C, 'w',
C, 'e',
C, 'r',
C, 't',
C, 'z',
C, 'u',
C, 'i',
C, 'o',
C, 'p',
C, 'ü',
0, '+',
0, 0,
K, '1',
K, '2',
K, '3',
C, 'a',
C, 's',
C, 'd',
C, 'f',
C, 'g',
C, 'h',
C, 'j',
C, 'k',
C, 'l',
C, 'ö',
C, 'ä',
0, '#',
0, 0,
K, '4',
K, '5',
K, '6',
0, '<',
C, 'y',
C, 'x',
C, 'c',
C, 'v',
C, 'b',
C, 'n',
C, 'm',
0, ',',
0, '.',
0, '-',
0, 0,
K, '.',
K, '7',
K, '8',
K, '9',
0, ' ',
0, DEL,
0, '\t',
K, '\r',
0, '\r',
0, ESC,
0, '\b',
0, 0,
0, 0,
0, 0,
K, '-',
0, 0,
S, 0x00,
S, 0x04,
S, 0x08,
S, 0x0C,
S, 0x10,
S, 0x15,
S, 0x1A,
S, 0x1F,
S, 0x24,
S, 0x29,
S, 0x2E,
S, 0x33,
S, 0x38,
S, 0x3D,
K, '[',
K, ']',
K, '/',
K, '*',
K, '+',
S, 0x42,
},
{
0, '~',
0, '!',
0, '"',
0, '§',
0, '$',
0, '%',
0, '&',
0, '/',
0, '(',
0, ')',
0, '=',
0, '?',
DG, '`',
0, '|',
0, 0,
K, '0',
C, 'Q',
C, 'W',
C, 'E',
C, 'R',
C, 'T',
C, 'Z',
C, 'U',
C, 'I',
C, 'O',
C, 'P',
C, 'Ü',
0, '*',
0, 0,
K, '1',
K, '2',
K, '3',
C, 'A',
C, 'S',
C, 'D',
C, 'F',
C, 'G',
C, 'H',
C, 'J',
C, 'K',
C, 'L',
C, 'Ö',
C, 'Ä',
0, '^',
0, 0,
K, '4',
K, '5',
K, '6',
0, '>',
C, 'Y',
C, 'X',
C, 'C',
C, 'V',
C, 'B',
C, 'N',
C, 'M',
0, ';',
0, ':',
0, '_',
0, 0,
K, '.',
K, '7',
K, '8',
K, '9',
0, ' ',
0, DEL,
S, 0x99,
K, '\r',
0, '\r',
0, ESC,
0, '\b',
0, 0,
0, 0,
0, 0,
K, '-',
0, 0,
S, 0x47,
S, 0x4C,
S, 0x51,
S, 0x57,
S, 0x5D,
S, 0x63,
S, 0x69,
S, 0x6F,
S, 0x75,
S, 0x7B,
S, 0x81,
S, 0x87,
S, 0x8D,
S, 0x93,
K, '{',
K, '}',
K, '/',
K, '*',
K, '+',
S, 0x42,
},
{
0, '`',
0, '¹',
0, '@',
0, '³',
0, '°',
0, '¼',
0, '½',
0, '¾',
0, '·',
0, '«',
0, '»',
0, '-',
0, '=',
0, '\\',
0, 0,
K, '0',
C, 'å',
0, '°',
0, '©',
0, '®',
C, 'þ',
0, '¤',
0, 'µ',
0, '¡',
C, 'ø',
0, '¶',
0, '[',
0, ']',
0, 0,
K, '1',
K, '2',
K, '3',
C, 'æ',
0, 'ß',
C, 'ð',
DA, '\'',
DG, '`',
DC, '^',
DT, '~',
DD, '¨',
0, '£',
0, ';',
0, '\'',
0, 0,
0, 0,
K, '4',
K, '5',
K, '6',
0, '<',
0, '±',
0, '×',
C, 'ç',
0, 'ª',
0, 'º',
0, '',
0, '¸',
0, ',',
0, '.',
0, '/',
0, 0,
K, '.',
K, '7',
K, '8',
K, '9',
0, ' ',
0, DEL,
0, '\t',
K, '\r',
0, '\r',
S, 0x9d,
0, '\b',
0, 0,
0, 0,
0, 0,
K, '-',
0, 0,
S, 0x00,
S, 0x04,
S, 0x08,
S, 0x0C,
S, 0x10,
S, 0x15,
S, 0x1A,
S, 0x1F,
S, 0x24,
S, 0x29,
S, 0x2E,
S, 0x33,
S, 0x38,
S, 0x3D,
K, '[',
K, ']',
K, '/',
K, '*',
K, '+',
S, 0x42,
},
{
0, '~',
0, '!',
0, '²',
0, '#',
0, '¢',
0, '%',
0, '^',
0, '&',
0, '*',
0, '(',
0, ')',
0, '_',
0, '+',
0, '|',
0, 0,
K, '0',
C, 'Å',
0, '°',
0, '©',
0, '®',
C, 'Þ',
0, '¥',
0, 'µ',
0, '¦',
C, 'Ø',
0, '¶',
0, '{',
0, '}',
0, 0,
K, '1',
K, '2',
K, '3',
C, 'Æ',
0, '§',
C, 'Ð',
DA, '\'',
DG, '`',
DC, '^',
DT, '~',
DD, '¨',
0, '£',
0, ':',
0, '"',
0, '^',
0, 0,
K, '4',
K, '5',
K, '6',
0, '>',
0, '¬',
0, '÷',
C, 'Ç',
0, 'ª',
0, 'º',
0, '¯',
0, '¿',
0, '<',
0, '>',
0, '?',
0, 0,
K, '.',
K, '7',
K, '8',
K, '9',
0, ' ',
0, DEL,
0, '\t',
K, '\r',
0, '\r',
S, 0x9d,
0, '\b',
0, 0,
0, 0,
0, 0,
K, '-',
0, 0,
S, 0x00,
S, 0x04,
S, 0x08,
S, 0x0C,
S, 0x10,
S, 0x15,
S, 0x1A,
S, 0x1F,
S, 0x24,
S, 0x29,
S, 0x2E,
S, 0x33,
S, 0x38,
S, 0x3D,
K, '{',
K, '}',
K, '/',
K, '*',
K, '+',
S, 0x42,
},
{
3, ESC, '[', 'A',
3, ESC, '[', 'B',
3, ESC, '[', 'C',
3, ESC, '[', 'D',
4, ESC, '[', '0', '~',
4, ESC, '[', '1', '~',
4, ESC, '[', '2', '~',
4, ESC, '[', '3', '~',
4, ESC, '[', '4', '~',
4, ESC, '[', '5', '~',
4, ESC, '[', '6', '~',
4, ESC, '[', '7', '~',
4, ESC, '[', '8', '~',
4, ESC, '[', '9', '~',
4, ESC, '[', '?', '~',
4, ESC, '[', 'T', '~',
4, ESC, '[', 'S', '~',
5, ESC, '[', ' ', '@', '~',
5, ESC, '[', ' ', 'A', '~',
5, ESC, '[', '1', '0', '~',
5, ESC, '[', '1', '1', '~',
5, ESC, '[', '1', '2', '~',
5, ESC, '[', '1', '3', '~',
5, ESC, '[', '1', '4', '~',
5, ESC, '[', '1', '5', '~',
5, ESC, '[', '1', '6', '~',
5, ESC, '[', '1', '7', '~',
5, ESC, '[', '1', '8', '~',
5, ESC, '[', '1', '9', '~',
3, ESC, '[', 'Z',
2, ESC, '[',
},
};
unsigned char acctable[KBD_NUM_ACC][64] = {
{ "@ÀBCDÈFGHÌJKLMNÒPQRSTÙVWXYZ[\\]^_"
"`àbcdèfghìjklmnòpqrstùvwxyz{|}~\177"},
{ "@ÁBCDÉFGHÍJKLMNÓPQRSTÚVWXYZ[\\]^_"
"`ábcdéfghíjklmnópqrstúvwxyz{|}~\177"},
{ "@ÂBCDÊFGHÎJKLMNÔPQRSTÛVWXYZ[\\]^_"
"`âbcdêfghîjklmnôpqrstûvwxyz{|}~\177"},
{ "@ÃBCDEFGHIJKLMÑÕPQRSTUVWXYZ[\\]^_"
"`ãbcdefghijklmñÕpqrstuvwxyz{|}~\177"},
{ "@ÄBCDËFGHÏJKLMNÖPQRSTÜVWXYZ[\\]^_"
"`äbcdëfghïjklmnöpqrstüvwxyz{|}~\177"},
};
int
main(void) {
write(1, &kbdmap, sizeof (kbdmap));
return 0;
}