|
|
@ -26,7 +26,7 @@
|
|
|
|
/* us english */
|
|
|
|
/* us english */
|
|
|
|
|
|
|
|
|
|
|
|
/* non shift chars */
|
|
|
|
/* non shift chars */
|
|
|
|
char en_us_noshift[] =
|
|
|
|
int en_us_noshift[] =
|
|
|
|
{
|
|
|
|
{
|
|
|
|
0, 0, '1', '2', '3', '4', '5', '6',
|
|
|
|
0, 0, '1', '2', '3', '4', '5', '6',
|
|
|
|
'7', '8', '9', '0', '-', '=', 0, 0,
|
|
|
|
'7', '8', '9', '0', '-', '=', 0, 0,
|
|
|
@ -47,7 +47,7 @@ char en_us_noshift[] =
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
/* shift chars */
|
|
|
|
/* shift chars */
|
|
|
|
char en_us_shift[] =
|
|
|
|
int en_us_shift[] =
|
|
|
|
{
|
|
|
|
{
|
|
|
|
0, 0, '!', '@', '#', '$', '%', '^',
|
|
|
|
0, 0, '!', '@', '#', '$', '%', '^',
|
|
|
|
'&', '*', '(', ')', '_', '+', 0, 0,
|
|
|
|
'&', '*', '(', ')', '_', '+', 0, 0,
|
|
|
@ -68,7 +68,7 @@ char en_us_shift[] =
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
/* right alt chars */
|
|
|
|
/* right alt chars */
|
|
|
|
char en_us_altgr[] =
|
|
|
|
int en_us_altgr[] =
|
|
|
|
{
|
|
|
|
{
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
@ -92,7 +92,7 @@ char en_us_altgr[] =
|
|
|
|
/* italy */
|
|
|
|
/* italy */
|
|
|
|
|
|
|
|
|
|
|
|
/* non shift chars ec*/
|
|
|
|
/* non shift chars ec*/
|
|
|
|
char it_noshift[] =
|
|
|
|
int it_noshift[] =
|
|
|
|
{
|
|
|
|
{
|
|
|
|
0, 0, '1', '2', '3', '4', '5', '6',
|
|
|
|
0, 0, '1', '2', '3', '4', '5', '6',
|
|
|
|
'7', '8', '9', '0', '\'', 0xec, 0, 0,
|
|
|
|
'7', '8', '9', '0', '\'', 0xec, 0, 0,
|
|
|
@ -113,7 +113,7 @@ char it_noshift[] =
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
/* shift chars */
|
|
|
|
/* shift chars */
|
|
|
|
char it_shift[] =
|
|
|
|
int it_shift[] =
|
|
|
|
{
|
|
|
|
{
|
|
|
|
0, 0, '!', '"', 0xa3, '$', '%', '&',
|
|
|
|
0, 0, '!', '"', 0xa3, '$', '%', '&',
|
|
|
|
'/', '(', ')', '=', '?', '^', 0, 0,
|
|
|
|
'/', '(', ')', '=', '?', '^', 0, 0,
|
|
|
@ -134,7 +134,7 @@ char it_shift[] =
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
/* right alt chars */
|
|
|
|
/* right alt chars */
|
|
|
|
char it_altgr[] =
|
|
|
|
int it_altgr[] =
|
|
|
|
{
|
|
|
|
{
|
|
|
|
0, 0, 0, 0, 0, 0, 0x80, 0,
|
|
|
|
0, 0, 0, 0, 0, 0, 0x80, 0,
|
|
|
|
'{', 0, 0, '}', 0, 0, 0, 0,
|
|
|
|
'{', 0, 0, '}', 0, 0, 0, 0,
|
|
|
@ -158,7 +158,7 @@ char it_altgr[] =
|
|
|
|
/* Portuguese (Brazil) */
|
|
|
|
/* Portuguese (Brazil) */
|
|
|
|
|
|
|
|
|
|
|
|
/* non shift chars */
|
|
|
|
/* non shift chars */
|
|
|
|
char pt_br_noshift[] =
|
|
|
|
int pt_br_noshift[] =
|
|
|
|
{
|
|
|
|
{
|
|
|
|
0, 0, '1', '2', '3', '4', '5', '6',
|
|
|
|
0, 0, '1', '2', '3', '4', '5', '6',
|
|
|
|
'7', '8', '9', '0', '-', '=', 0, 0,
|
|
|
|
'7', '8', '9', '0', '-', '=', 0, 0,
|
|
|
@ -179,7 +179,7 @@ char pt_br_noshift[] =
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
/* shift chars */
|
|
|
|
/* shift chars */
|
|
|
|
char pt_br_shift[] =
|
|
|
|
int pt_br_shift[] =
|
|
|
|
{
|
|
|
|
{
|
|
|
|
0, 0, '!', '@', '#', '$', '%', 0xa8,
|
|
|
|
0, 0, '!', '@', '#', '$', '%', 0xa8,
|
|
|
|
'&', '*', '(', ')', '_', '+', 0, 0,
|
|
|
|
'&', '*', '(', ')', '_', '+', 0, 0,
|
|
|
@ -200,7 +200,7 @@ char pt_br_shift[] =
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
/* right alt chars */
|
|
|
|
/* right alt chars */
|
|
|
|
char pt_br_altgr[] =
|
|
|
|
int pt_br_altgr[] =
|
|
|
|
{
|
|
|
|
{
|
|
|
|
0, 0, 0xb9, 0xb2, 0xb3, 0xa3, 0xa2, 0xac,
|
|
|
|
0, 0, 0xb9, 0xb2, 0xb3, 0xa3, 0xa2, 0xac,
|
|
|
|
0, 0, 0, 0, 0, 0xa7, 0, 0,
|
|
|
|
0, 0, 0, 0, 0, 0xa7, 0, 0,
|
|
|
@ -224,7 +224,7 @@ char pt_br_altgr[] =
|
|
|
|
/* uk english */
|
|
|
|
/* uk english */
|
|
|
|
|
|
|
|
|
|
|
|
/* non shift chars */
|
|
|
|
/* non shift chars */
|
|
|
|
char en_uk_noshift[] =
|
|
|
|
int en_uk_noshift[] =
|
|
|
|
{
|
|
|
|
{
|
|
|
|
0, 0, '1', '2', '3', '4', '5', '6',
|
|
|
|
0, 0, '1', '2', '3', '4', '5', '6',
|
|
|
|
'7', '8', '9', '0', '-', '=', 0, 0,
|
|
|
|
'7', '8', '9', '0', '-', '=', 0, 0,
|
|
|
@ -245,7 +245,7 @@ char en_uk_noshift[] =
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
/* shift chars */
|
|
|
|
/* shift chars */
|
|
|
|
char en_uk_shift[] =
|
|
|
|
int en_uk_shift[] =
|
|
|
|
{
|
|
|
|
{
|
|
|
|
0, 0, '!', '"', 0xa3, '$', '%', '^',
|
|
|
|
0, 0, '!', '"', 0xa3, '$', '%', '^',
|
|
|
|
'&', '*', '(', ')', '_', '+', 0, 0,
|
|
|
|
'&', '*', '(', ')', '_', '+', 0, 0,
|
|
|
@ -266,7 +266,7 @@ char en_uk_shift[] =
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
/* right alt chars */
|
|
|
|
/* right alt chars */
|
|
|
|
char en_uk_altgr[] =
|
|
|
|
int en_uk_altgr[] =
|
|
|
|
{
|
|
|
|
{
|
|
|
|
0, 0, 0, 0, 0, 0x80, 0, 0,
|
|
|
|
0, 0, 0, 0, 0, 0x80, 0, 0,
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
@ -290,7 +290,7 @@ char en_uk_altgr[] =
|
|
|
|
/* german */
|
|
|
|
/* german */
|
|
|
|
|
|
|
|
|
|
|
|
/* non shift chars */
|
|
|
|
/* non shift chars */
|
|
|
|
char de_noshift[] =
|
|
|
|
int de_noshift[] =
|
|
|
|
{
|
|
|
|
{
|
|
|
|
0, 0, '1', '2', '3', '4', '5', '6',
|
|
|
|
0, 0, '1', '2', '3', '4', '5', '6',
|
|
|
|
'7', '8', '9', '0', 0xdf, 0xb4, 0, 0,
|
|
|
|
'7', '8', '9', '0', 0xdf, 0xb4, 0, 0,
|
|
|
@ -311,7 +311,7 @@ char de_noshift[] =
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
/* shift chars */
|
|
|
|
/* shift chars */
|
|
|
|
char de_shift[] =
|
|
|
|
int de_shift[] =
|
|
|
|
{
|
|
|
|
{
|
|
|
|
0, 0, '!', '"', 0xa7, '$', '%', '&',
|
|
|
|
0, 0, '!', '"', 0xa7, '$', '%', '&',
|
|
|
|
'/', '(', ')', '=', '?', '`', 0, 0,
|
|
|
|
'/', '(', ')', '=', '?', '`', 0, 0,
|
|
|
@ -332,7 +332,7 @@ char de_shift[] =
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
/* right alt chars */
|
|
|
|
/* right alt chars */
|
|
|
|
char de_altgr[] =
|
|
|
|
int de_altgr[] =
|
|
|
|
{
|
|
|
|
{
|
|
|
|
0, 0, 0, 0xb2, 0xb3, 0, 0, 0,
|
|
|
|
0, 0, 0, 0xb2, 0xb3, 0, 0, 0,
|
|
|
|
'{', '[', ']', '}', '\\', 0, 0, 0,
|
|
|
|
'{', '[', ']', '}', '\\', 0, 0, 0,
|
|
|
@ -356,7 +356,7 @@ char de_altgr[] =
|
|
|
|
/* french */
|
|
|
|
/* french */
|
|
|
|
|
|
|
|
|
|
|
|
/* non shift chars */
|
|
|
|
/* non shift chars */
|
|
|
|
char fr_noshift[] =
|
|
|
|
int fr_noshift[] =
|
|
|
|
{
|
|
|
|
{
|
|
|
|
0, 0, '&', 0xe9, '"', '\'', '(', '-',
|
|
|
|
0, 0, '&', 0xe9, '"', '\'', '(', '-',
|
|
|
|
0xe8, '_', 0xe7, 0xe0, ')', '=', 0, 0,
|
|
|
|
0xe8, '_', 0xe7, 0xe0, ')', '=', 0, 0,
|
|
|
@ -377,7 +377,7 @@ char fr_noshift[] =
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
/* shift chars */
|
|
|
|
/* shift chars */
|
|
|
|
char fr_shift[] =
|
|
|
|
int fr_shift[] =
|
|
|
|
{
|
|
|
|
{
|
|
|
|
0, 0, '1', '2', '3', '4', '5', '6',
|
|
|
|
0, 0, '1', '2', '3', '4', '5', '6',
|
|
|
|
'7', '8', '9', '0', 0xb0, '+', 0, 0,
|
|
|
|
'7', '8', '9', '0', 0xb0, '+', 0, 0,
|
|
|
@ -398,7 +398,7 @@ char fr_shift[] =
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
/* right alt chars */
|
|
|
|
/* right alt chars */
|
|
|
|
char fr_altgr[] =
|
|
|
|
int fr_altgr[] =
|
|
|
|
{
|
|
|
|
{
|
|
|
|
0, 0, 0, '~', '#', '{', '[', '|',
|
|
|
|
0, 0, 0, '~', '#', '{', '[', '|',
|
|
|
|
'`', '\\', '^', '@', ']', '}', 0, 0,
|
|
|
|
'`', '\\', '^', '@', ']', '}', 0, 0,
|
|
|
@ -422,78 +422,144 @@ char fr_altgr[] =
|
|
|
|
/* swedish */
|
|
|
|
/* swedish */
|
|
|
|
|
|
|
|
|
|
|
|
/* non shift chars */
|
|
|
|
/* non shift chars */
|
|
|
|
char se_noshift[] =
|
|
|
|
int se_noshift[] =
|
|
|
|
{
|
|
|
|
{
|
|
|
|
0, 0, '1', '2', '3', '4', '5', '6',
|
|
|
|
0, 0, '1', '2', '3', '4', '5', '6',
|
|
|
|
'7', '8', '9', '0', '+', 0xb4, 0, 0,
|
|
|
|
'7', '8', '9', '0', '+', 0x00b4, 0, 0,
|
|
|
|
'q', 'w', 'e', 'r', 't', 'y', 'u', 'i',
|
|
|
|
'q', 'w', 'e', 'r', 't', 'y', 'u', 'i',
|
|
|
|
'o', 'p', 0xe5, 0x22, 0, 0, 'a', 's',
|
|
|
|
'o', 'p', 0x00e5, 0x0022, 0, 0, 'a', 's',
|
|
|
|
'd', 'f', 'g', 'h', 'j', 'k', 'l', 0xf6,
|
|
|
|
'd', 'f', 'g', 'h', 'j', 'k', 'l', 0x00f6,
|
|
|
|
0xe4, 0xa7, 0, '\'', 'z', 'x', 'c', 'v',
|
|
|
|
0x00e4, 0x00a7, 0, '\'', 'z', 'x', 'c', 'v',
|
|
|
|
'b', 'n', 'm', ',', '.', '-', 0, '*',
|
|
|
|
'b', 'n', 'm', ',', '.', '-', 0, '*',
|
|
|
|
0, ' ', 0, 0, 0, 0, 0, 0,
|
|
|
|
0, ' ', 0, 0, 0, 0, 0, 0,
|
|
|
|
0 , 0, 0, 0, 0, 0, 0, '7',
|
|
|
|
0, 0, 0, 0, 0, 0, 0, '7',
|
|
|
|
'8', '9', '-', '4', '5', '6', '+', '1',
|
|
|
|
'8', '9', '-', '4', '5', '6', '+', '1',
|
|
|
|
'2', '3', '0', '.', 0, 0, '<', 0,
|
|
|
|
'2', '3', '0', '.', 0, 0, '<', 0,
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
/* shift chars */
|
|
|
|
/* shift chars */
|
|
|
|
char se_shift[] =
|
|
|
|
int se_shift[] =
|
|
|
|
{
|
|
|
|
{
|
|
|
|
0, 0, '!', '"', '#', 0xa4, '%', '&',
|
|
|
|
0, 0, '!', '"', '#', 0x00a4, '%', '&',
|
|
|
|
'/', '(', ')', '=', '?', '`', 0, 0,
|
|
|
|
'/', '(', ')', '=', '?', '`', 0, 0,
|
|
|
|
'Q', 'W', 'E', 'R', 'T', 'Y', 'U', 'I',
|
|
|
|
'Q', 'W', 'E', 'R', 'T', 'Y', 'U', 'I',
|
|
|
|
'O', 'P', 0xc5, 0x5e, 0, 0, 'A', 'S',
|
|
|
|
'O', 'P', 0x00c5, 0x005e, 0, 0, 'A', 'S',
|
|
|
|
'D', 'F', 'G', 'H', 'J', 'K', 'L', 0xd6,
|
|
|
|
'D', 'F', 'G', 'H', 'J', 'K', 'L', 0x00d6,
|
|
|
|
0xc4, 0xbd, 0, '*', 'Z', 'X', 'C', 'V',
|
|
|
|
0x00c4, 0x00bd, 0, '*', 'Z', 'X', 'C', 'V',
|
|
|
|
'B', 'N', 'M', ';', ':', '_', 0, '*',
|
|
|
|
'B', 'N', 'M', ';', ':', '_', 0, '*',
|
|
|
|
0, ' ', 0, 0, 0, 0, 0, 0,
|
|
|
|
0, ' ', 0, 0, 0, 0, 0, 0,
|
|
|
|
0, 0, 0, 0, 0, 0, 0, '7',
|
|
|
|
0, 0, 0, 0, 0, 0, 0, '7',
|
|
|
|
'8', '9', '-', '4', '5', '6', '+', '1',
|
|
|
|
'8', '9', '-', '4', '5', '6', '+', '1',
|
|
|
|
'2', '3', '0', '.', 0, 0, '>', 0,
|
|
|
|
'2', '3', '0', '.', 0, 0, '>', 0,
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
/* right alt chars */
|
|
|
|
/* right alt chars */
|
|
|
|
char se_altgr[] =
|
|
|
|
int se_altgr[] =
|
|
|
|
{
|
|
|
|
{
|
|
|
|
0, 0, 0, '@', 0xa3, '$', 0, 0,
|
|
|
|
0, 0, 0, '@', 0x00a3, '$', 0, 0,
|
|
|
|
'{', '[', ']', '}', '\\', 0, 0, 0,
|
|
|
|
'{', '[', ']', '}', '\\', 0, 0, 0,
|
|
|
|
'@', 0, 0x80, 0, 0, 0, 0, 0,
|
|
|
|
'@', 0, 0x0080, 0, 0, 0, 0, 0,
|
|
|
|
0, 0, 0, '~', 0, 0, 0, 0,
|
|
|
|
0, 0, 0, '~', 0, 0, 0, 0,
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
0, 0, 0xb5, 0, 0, 0, 0, 0,
|
|
|
|
0, 0, 0x00b5, 0, 0, 0, 0, 0,
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
0, 0, 0, '$', 0, 0, 0, 0,
|
|
|
|
0, 0, 0, '$', 0, 0, 0, 0,
|
|
|
|
0, 0, 0, 0, 0, 0, '|', 0,
|
|
|
|
0, 0, 0, 0, 0, 0, '|', 0,
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*****************************************************************************/
|
|
|
|
|
|
|
|
/* czech - todo */
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* non shift chars */
|
|
|
|
|
|
|
|
int cs_noshift[] =
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
0, 0, '+', 0x011b, 0x0161, 0x010d, 0x0159, 0x017e,
|
|
|
|
|
|
|
|
0x00fd, 0x00e1, 0x00ed, 0x00e9, '-', '=', 0, 0,
|
|
|
|
|
|
|
|
'q', 'w', 'e', 'r', 't', 'y', 'u', 'i',
|
|
|
|
|
|
|
|
'o', 'p', '[', ']', 0, 0, 'a', 's',
|
|
|
|
|
|
|
|
'd', 'f', 'g', 'h', 'j', 'k', 'l', ';',
|
|
|
|
|
|
|
|
'\'', '`', 0, '\\', 'z', 'x', 'c', 'v',
|
|
|
|
|
|
|
|
'b', 'n', 'm', ',', '.', '/', 0, '*',
|
|
|
|
|
|
|
|
0, ' ', 0, 0, 0, 0, 0, 0,
|
|
|
|
|
|
|
|
0, 0, 0, 0, 0, 0, 0, '7',
|
|
|
|
|
|
|
|
'8', '9', '-', '4', '5', '6', '+', '1',
|
|
|
|
|
|
|
|
'2', '3', '0', '.', 0, 0, 0, 0,
|
|
|
|
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* shift chars */
|
|
|
|
|
|
|
|
int cs_shift[] =
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
0, 0, '!', '@', '#', '$', '%', '^',
|
|
|
|
|
|
|
|
'&', '*', '(', ')', '_', '+', 0, 0,
|
|
|
|
|
|
|
|
'Q', 'W', 'E', 'R', 'T', 'Y', 'U', 'I',
|
|
|
|
|
|
|
|
'O', 'P', '{', '}', 0, 0, 'A', 'S',
|
|
|
|
|
|
|
|
'D', 'F', 'G', 'H', 'J', 'K', 'L', ':',
|
|
|
|
|
|
|
|
'"', '~', 0, '|', 'Z', 'X', 'C', 'V',
|
|
|
|
|
|
|
|
'B', 'N', 'M', '<', '>', '?', 0, '*',
|
|
|
|
|
|
|
|
0, ' ', 0, 0, 0, 0, 0, 0,
|
|
|
|
|
|
|
|
0, 0, 0, 0, 0, 0, 0, '7',
|
|
|
|
|
|
|
|
'8', '9', '-', '4', '5', '6', '+', '1',
|
|
|
|
|
|
|
|
'2', '3', '0', '.', 0, 0, 0, 0,
|
|
|
|
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* right alt chars */
|
|
|
|
|
|
|
|
int cs_altgr[] =
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
/*****************************************************************************/
|
|
|
|
/*****************************************************************************/
|
|
|
|
char APP_CC
|
|
|
|
int APP_CC
|
|
|
|
get_char_from_scan_code(int device_flags, int scan_code, int* keys,
|
|
|
|
get_char_from_scan_code(int device_flags, int scan_code, int* keys,
|
|
|
|
int caps_lock, int num_lock, int scroll_lock,
|
|
|
|
int caps_lock, int num_lock, int scroll_lock,
|
|
|
|
int keylayout)
|
|
|
|
int keylayout)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
char rv;
|
|
|
|
int rv;
|
|
|
|
char* keys_noshift;
|
|
|
|
int* keys_noshift;
|
|
|
|
char* keys_shift;
|
|
|
|
int* keys_shift;
|
|
|
|
char* keys_altgr;
|
|
|
|
int* keys_altgr;
|
|
|
|
int shift;
|
|
|
|
int shift;
|
|
|
|
int altgr;
|
|
|
|
int altgr;
|
|
|
|
int ext;
|
|
|
|
int ext;
|
|
|
@ -534,13 +600,19 @@ get_char_from_scan_code(int device_flags, int scan_code, int* keys,
|
|
|
|
keys_shift = se_shift;
|
|
|
|
keys_shift = se_shift;
|
|
|
|
keys_altgr = se_altgr;
|
|
|
|
keys_altgr = se_altgr;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
else if (keylayout == 0x405) /* czech */
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
keys_noshift = cs_noshift;
|
|
|
|
|
|
|
|
keys_shift = cs_shift;
|
|
|
|
|
|
|
|
keys_altgr = cs_altgr;
|
|
|
|
|
|
|
|
}
|
|
|
|
else /* english us 0x409 */
|
|
|
|
else /* english us 0x409 */
|
|
|
|
{
|
|
|
|
{
|
|
|
|
keys_noshift = en_us_noshift;
|
|
|
|
keys_noshift = en_us_noshift;
|
|
|
|
keys_shift = en_us_shift;
|
|
|
|
keys_shift = en_us_shift;
|
|
|
|
keys_altgr = en_us_altgr;
|
|
|
|
keys_altgr = en_us_altgr;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
/*g_writeln("%d %d %x", scan_code, device_flags, keylayout);*/
|
|
|
|
/*g_writeln("%d %d $%x", scan_code, device_flags, keylayout);*/
|
|
|
|
shift = keys[42] || keys[54];
|
|
|
|
shift = keys[42] || keys[54];
|
|
|
|
altgr = keys[56]; /* right alt */
|
|
|
|
altgr = keys[56]; /* right alt */
|
|
|
|
ext = device_flags & 0x0100;
|
|
|
|
ext = device_flags & 0x0100;
|
|
|
|