You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
142 lines
4.9 KiB
142 lines
4.9 KiB
static int columns[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
|
|
static int rows[] = {14, 16, 17, 18, 19, 20, 21, 22, 26, 27, 13};
|
|
//1,4,5,7
|
|
static int num_lock = 25;
|
|
static int caps_lock = 11;
|
|
static int scroll_lock = 10;
|
|
|
|
static char* mapping[sizeof(columns)/sizeof(int)][sizeof(rows)/sizeof(int)] = {
|
|
{"^", "w", "r", "h", ",", "-", "--application", "--kp-0", "--kp-enter", "--media4","--esc"},
|
|
{"--tab", "s", "f", "b", "l", "ä", "--right-ctrl", "--kp-1", "--kp-plus", "--pause","--f1"},
|
|
{"--caps-lock", "y", "c", "n", "o", "ü", "--left", "--kp-2", "--kp-minus", "--scrl-lck", "--f2"},
|
|
{"--left-shift", "--left-meta", "--spacebar", "j", "9", "ß", "--down", "--kp-3", "--kp-mul", "--prtsc", "--f3"},
|
|
{"--left-ctrl", "--left-alt", "v", "u", "0", "´", "--up", "--kp-4", "--kp-div", "--home", "--f4"},
|
|
{"<", "x", "g", "7", "p", "--bckspc", "--right", "--kp-5", "--num-lock", "--insert", "--f5"},
|
|
{"a", "d", "t", "8", "ö", "--return", "--del", "--kp-6", "--kp-comma", /*extra key*/"h e l l o", "--f6"},
|
|
{"q", "e", "5", "i", ".", "+", "--end", "--kp-7", "--media1", "--f12", "--f7"},
|
|
{"1", "3", "6", "k", "--right-alt", "#", "--pagedown", "--kp-8", "--media2", "--f11", "--f8"},
|
|
{"2", "4", "z", "m", "--right-meta", "--right-shift", "--pageup", "--kp-9", "--media3", "--f10", "--f9"}
|
|
};
|
|
|
|
struct options {
|
|
const char *opt;
|
|
unsigned char val;
|
|
};
|
|
|
|
static struct options kmod[] = {
|
|
{.opt = "--left-ctrl", .val = 0x01},
|
|
{.opt = "--right-ctrl", .val = 0x10},
|
|
{.opt = "--left-shift", .val = 0x02},
|
|
{.opt = "--right-shift", .val = 0x20},
|
|
{.opt = "--left-alt", .val = 0x04},
|
|
{.opt = "--right-alt", .val = 0x40},
|
|
{.opt = "--left-meta", .val = 0x08},
|
|
{.opt = "--right-meta", .val = 0x80},
|
|
{.opt = NULL}
|
|
};
|
|
|
|
static struct options kval[] = {
|
|
// {.opt = "--extra", .val = 0x7F},
|
|
// {.opt = "--media1", .val = 0x81}, Media keys are consumer HID not Keyboard HID
|
|
// {.opt = "--media2", .val = 0x80},
|
|
// {.opt = "--media3", .val = 0xCD},
|
|
// {.opt = "--media4", .val = 0xCE},
|
|
{.opt = "^", .val = 0x35},
|
|
{.opt = "1", .val = 0x1E},
|
|
{.opt = "2", .val = 0x1F},
|
|
{.opt = "3", .val = 0x20},
|
|
{.opt = "4", .val = 0x21},
|
|
{.opt = "5", .val = 0x22},
|
|
{.opt = "6", .val = 0x23},
|
|
{.opt = "7", .val = 0x24},
|
|
{.opt = "8", .val = 0x25},
|
|
{.opt = "9", .val = 0x26},
|
|
{.opt = "0", .val = 0x27},
|
|
{.opt = "ß", .val = 0x2D},
|
|
{.opt = "´", .val = 0x2E},
|
|
{.opt = "--bckspc", .val = 0x2A},
|
|
{.opt = "--tab", .val = 0x2B},
|
|
{.opt = "q", .val = 0x14},
|
|
{.opt = "w", .val = 0x1A},
|
|
{.opt = "e", .val = 0x08},
|
|
{.opt = "r", .val = 0x15},
|
|
{.opt = "t", .val = 0x17},
|
|
{.opt = "z", .val = 0x1C},
|
|
{.opt = "u", .val = 0x18},
|
|
{.opt = "i", .val = 0x0C},
|
|
{.opt = "o", .val = 0x12},
|
|
{.opt = "p", .val = 0x13},
|
|
{.opt = "ü", .val = 0x2f},
|
|
{.opt = "+", .val = 0x30},
|
|
{.opt = "--caps-lock", .val = 0x39},
|
|
{.opt = "a", .val = 0x04},
|
|
{.opt = "s", .val = 0x16},
|
|
{.opt = "d", .val = 0x07},
|
|
{.opt = "f", .val = 0x09},
|
|
{.opt = "g", .val = 0x0A},
|
|
{.opt = "h", .val = 0x0B},
|
|
{.opt = "j", .val = 0x0D},
|
|
{.opt = "k", .val = 0x0E},
|
|
{.opt = "l", .val = 0x0F},
|
|
{.opt = "ö", .val = 0x33},
|
|
{.opt = "ä", .val = 0x34},
|
|
{.opt = "#", .val = 0x32},
|
|
{.opt = "--return", .val = 0x28},
|
|
{.opt = "<", .val = 0x64},
|
|
{.opt = "y", .val = 0x1D},
|
|
{.opt = "x", .val = 0x1B},
|
|
{.opt = "c", .val = 0x06},
|
|
{.opt = "v", .val = 0x19},
|
|
{.opt = "b", .val = 0x05},
|
|
{.opt = "n", .val = 0x11},
|
|
{.opt = "m", .val = 0x10},
|
|
{.opt = ",", .val = 0x36},
|
|
{.opt = ".", .val = 0x37},
|
|
{.opt = "-", .val = 0x38},
|
|
{.opt = "--spacebar", .val = 0x2C},
|
|
{.opt = "--esc", .val = 0x29},
|
|
{.opt = "--f1", .val = 0x3a},
|
|
{.opt = "--f2", .val = 0x3b},
|
|
{.opt = "--f3", .val = 0x3c},
|
|
{.opt = "--f4", .val = 0x3d},
|
|
{.opt = "--f5", .val = 0x3e},
|
|
{.opt = "--f6", .val = 0x3f},
|
|
{.opt = "--f7", .val = 0x40},
|
|
{.opt = "--f8", .val = 0x41},
|
|
{.opt = "--f9", .val = 0x42},
|
|
{.opt = "--f10", .val = 0x43},
|
|
{.opt = "--f11", .val = 0x44},
|
|
{.opt = "--f12", .val = 0x45},
|
|
{.opt = "--insert", .val = 0x49},
|
|
{.opt = "--home", .val = 0x4a},
|
|
{.opt = "--pageup", .val = 0x4b},
|
|
{.opt = "--del", .val = 0x4c},
|
|
{.opt = "--end", .val = 0x4d},
|
|
{.opt = "--pagedown", .val = 0x4e},
|
|
{.opt = "--right", .val = 0x4f},
|
|
{.opt = "--left", .val = 0x50},
|
|
{.opt = "--down", .val = 0x51},
|
|
{.opt = "--up", .val = 0x52},
|
|
{.opt = "--application", .val = 0x65},
|
|
{.opt = "--num-lock", .val = 0x53},
|
|
{.opt = "--kp-enter", .val = 0x58},
|
|
{.opt = "--kp-0", .val = 0x62},
|
|
{.opt = "--kp-1", .val = 0x59},
|
|
{.opt = "--kp-2", .val = 0x5A},
|
|
{.opt = "--kp-3", .val = 0x5B},
|
|
{.opt = "--kp-4", .val = 0x5C},
|
|
{.opt = "--kp-5", .val = 0x5D},
|
|
{.opt = "--kp-6", .val = 0x5E},
|
|
{.opt = "--kp-7", .val = 0x5F},
|
|
{.opt = "--kp-8", .val = 0x60},
|
|
{.opt = "--kp-9", .val = 0x61},
|
|
{.opt = "--kp-div", .val = 0x54},
|
|
{.opt = "--kp-mul", .val = 0x55},
|
|
{.opt = "--kp-minus", .val = 0x56},
|
|
{.opt = "--kp-plus", .val = 0x57},
|
|
{.opt = "--kp-comma", .val = 0x63},
|
|
{.opt = "--pause", .val = 0x48},
|
|
{.opt = "--scrl-lck", .val = 0x47},
|
|
{.opt = "--prtsc", .val = 0x46},
|
|
{.opt = NULL}
|
|
};
|
|
|