--- iz-ru-la.C.orig 2013-06-30 11:58:28.079116700 -0700
+++ iz-ru-la.C 2013-06-30 12:09:01.975373500 -0700
@@ -97,6 +97,7 @@ static ALLOC_SECTION_LDATA VSC_VK aE0Vsc
{ 0x2E, X2E | KBDEXT }, // Speedracer: Volume Down
{ 0x30, X30 | KBDEXT }, // Speedracer: Volume Up
{ 0x32, X32 | KBDEXT }, // Speedracer: Browser Home
+ { 0x35, X35 | KBDEXT }, // Numpad Divide
{ 0x37, X37 | KBDEXT }, // Snapshot
{ 0x38, X38 | KBDEXT }, // RMenu
{ 0x47, X47 | KBDEXT }, // Home
@@ -141,10 +142,15 @@ static ALLOC_SECTION_LDATA VSC_VK aE1Vsc
* CTRL (L & R) is used to generate control characters
* ALT (L & R) used for generating characters by number with numpad
\***************************************************************************/
+#define KBD_Z 0x40
+#define KBD_T 0x80
static ALLOC_SECTION_LDATA VK_TO_BIT aVkToBits[] = {
{ VK_SHIFT , KBDSHIFT },
- { VK_CONTROL , KBDCTRL },
- { VK_MENU , KBDALT },
+ { VK_LCONTROL , KBDCTRL + KBDLOYA },
+ { VK_RCONTROL , KBDCTRL + KBDALT + KBDROYA },
+ { VK_LMENU , KBDALT + KBDKANA },
+ { VK_RMENU , KBDALT + KBDCTRL + KBDLOYA + KBD_Z },
+ { VK_OEM_AX , KBDALT + KBDCTRL + KBD_T },
{ 0 , 0 }
};
@@ -169,8 +175,8 @@ static ALLOC_SECTION_LDATA MODIFIERS Cha
SHFT_INVALID, // Shift Alt
SHFT_INVALID, // Ctrl Alt
SHFT_INVALID, // Shift Ctrl Alt
- SHFT_INVALID, // Kana
- SHFT_INVALID, // Shift Kana
+ 0, // Kana
+ 1, // Shift Kana
SHFT_INVALID, // Ctrl Kana
SHFT_INVALID, // Shift Ctrl Kana
SHFT_INVALID, // Alt Kana
@@ -187,8 +189,8 @@ static ALLOC_SECTION_LDATA MODIFIERS Cha
SHFT_INVALID, // Shift Ctrl Roya
SHFT_INVALID, // Alt Roya
SHFT_INVALID, // Shift Alt Roya
- SHFT_INVALID, // Ctrl Alt Roya
- SHFT_INVALID, // Shift Ctrl Alt Roya
+ 2, // Ctrl Alt Roya
+ 3, // Shift Ctrl Alt Roya
SHFT_INVALID, // Kana Roya
SHFT_INVALID, // Shift Kana Roya
SHFT_INVALID, // Ctrl Kana Roya
@@ -199,8 +201,8 @@ static ALLOC_SECTION_LDATA MODIFIERS Cha
16, // Shift Ctrl Alt Kana Roya
SHFT_INVALID, // Loya
SHFT_INVALID, // Shift Loya
- SHFT_INVALID, // Ctrl Loya
- SHFT_INVALID, // Shift Ctrl Loya
+ 2, // Ctrl Loya
+ 3, // Shift Ctrl Loya
SHFT_INVALID, // Alt Loya
SHFT_INVALID, // Shift Alt Loya
SHFT_INVALID, // Ctrl Alt Loya
@@ -523,16 +529,20 @@ static ALLOC_SECTION_LDATA VK_TO_WCHARS3
{0 ,0 ,0 ,0 ,0 }
};
-static ALLOC_SECTION_LDATA VK_TO_WCHARS6 aVkToWch6[] = {
+static ALLOC_SECTION_LDATA VK_TO_WCHARS10 aVkToWch10[] = {
// | | Shift | Ctrl |S+Ctrl | C+ X1 | C+ X1 |
// |=========|=========|=========|=========|=========|=========|
- {VK_SPACE ,0 ,' ' ,WCH_DEAD ,' ' ,WCH_NONE ,WCH_DEAD ,WCH_DEAD },
- {0xff ,0 ,WCH_NONE ,0x0138 ,WCH_NONE ,WCH_NONE ,0x0192 ,0x00a0 },
- {VK_ABNT_C2 ,0 ,WCH_DEAD ,WCH_DEAD ,WCH_NONE ,WCH_NONE ,WCH_DEAD ,0x0301 },
- {0xff ,0 ,0x06f0 ,0x00a0 ,WCH_NONE ,WCH_NONE ,0x00a3 ,WCH_NONE },
- {VK_OEM_8 ,0 ,WCH_DEAD ,WCH_DEAD ,WCH_NONE ,WCH_NONE ,WCH_DEAD ,0x0301 },
- {0xff ,0 ,0x06f0 ,0x00a0 ,WCH_NONE ,WCH_NONE ,0x00a3 ,WCH_NONE },
- {0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 }
+ {VK_SPACE ,0 ,' ' ,WCH_DEAD ,' ' ,WCH_NONE ,WCH_DEAD ,WCH_DEAD ,WCH_DEAD ,WCH_NONE ,WCH_DEAD ,WCH_NONE },
+ {0xff ,0 ,WCH_NONE ,0x0138 ,WCH_NONE ,WCH_NONE ,0x0192 ,0x00a0 ,0x06f0 ,WCH_NONE ,0x06f0 ,WCH_NONE },
+ {VK_CONVERT ,0 ,' ' ,WCH_DEAD ,' ' ,WCH_NONE ,WCH_DEAD ,WCH_DEAD ,WCH_NONE ,WCH_NONE ,WCH_DEAD ,WCH_NONE },
+ {0xff ,0 ,WCH_NONE ,0x0138 ,WCH_NONE ,WCH_NONE ,0x0192 ,0x00a0 ,0x06f0 ,WCH_NONE ,0x06f0 ,WCH_NONE },
+ {VK_NONCONVERT,0 ,' ' ,WCH_DEAD ,' ' ,WCH_NONE ,WCH_DEAD ,WCH_DEAD ,WCH_NONE ,WCH_NONE ,WCH_DEAD ,WCH_NONE },
+ {0xff ,0 ,WCH_NONE ,0x0138 ,WCH_NONE ,WCH_NONE ,0x0192 ,0x00a0 ,0x06f0 ,WCH_NONE ,0x06f0 ,WCH_NONE },
+ {VK_ABNT_C2 ,0 ,WCH_DEAD ,WCH_DEAD ,WCH_NONE ,WCH_NONE ,WCH_DEAD ,0x0301 ,WCH_NONE ,WCH_NONE ,WCH_NONE ,WCH_NONE },
+ {0xff ,0 ,0x06f0 ,0x00a0 ,WCH_NONE ,WCH_NONE ,0x00a3 ,WCH_NONE ,WCH_NONE ,WCH_NONE ,WCH_NONE ,WCH_NONE },
+ {VK_OEM_8 ,0 ,WCH_DEAD ,WCH_DEAD ,WCH_NONE ,WCH_NONE ,WCH_DEAD ,0x0301 ,WCH_NONE ,WCH_NONE ,WCH_NONE ,WCH_NONE },
+ {0xff ,0 ,0x06f0 ,0x00a0 ,WCH_NONE ,WCH_NONE ,0x00a3 ,WCH_NONE ,WCH_NONE ,WCH_NONE ,WCH_NONE ,WCH_NONE },
+ {0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 }
};
static ALLOC_SECTION_LDATA VK_TO_WCHARS45 aVkToWch45[] = {
@@ -656,6 +666,9 @@ static ALLOC_SECTION_LDATA VK_TO_WCHARS2
};
static ALLOC_SECTION_LDATA VK_TO_WCHAR_TABLE aVkToWcharTable[] = {
+ { (PVK_TO_WCHARS1)aVkToWch3, 3, sizeof(aVkToWch3[0]) },
+ { (PVK_TO_WCHARS1)aVkToWch10, 10, sizeof(aVkToWch10[0]) },
+ { (PVK_TO_WCHARS1)aVkToWch45, 45, sizeof(aVkToWch45[0]) },
{ (PVK_TO_WCHARS1)aVkToWch2, 2, sizeof(aVkToWch2[0]) },
{ (PVK_TO_WCHARS1)aVkToWch25, 25, sizeof(aVkToWch25[0]) },
{ NULL, 0, 0 },
--- iz-ru-la.H.orig 2013-03-09 16:06:20.394533900 -0800
+++ iz-ru-la.H 2013-03-09 16:48:18.378554400 -0800
@@ -37,3 +37,13 @@
#undef T7D
#define T7D _EQ( OEM_8 )
+#undef X5D /* Was: APPS; move to non-special "kinda-KANA" */
+#define X5D _EQ( OEM_AX )
+
+#undef T70 /* KANA */
+#define T70 _EQ( APPS )
+
+#undef T7B
+#define T7B _EQ( NONCONVERT )
+#undef T79
+#define T79 _EQ( CONVERT )
--- iz-la-ru.C.orig 2013-06-30 11:58:27.984111300 -0700
+++ iz-la-ru.C 2013-06-30 12:05:57.478820900 -0700
@@ -97,6 +97,7 @@ static ALLOC_SECTION_LDATA VSC_VK aE0Vsc
{ 0x2E, X2E | KBDEXT }, // Speedracer: Volume Down
{ 0x30, X30 | KBDEXT }, // Speedracer: Volume Up
{ 0x32, X32 | KBDEXT }, // Speedracer: Browser Home
+ { 0x35, X35 | KBDEXT }, // Numpad Divide
{ 0x37, X37 | KBDEXT }, // Snapshot
{ 0x38, X38 | KBDEXT }, // RMenu
{ 0x47, X47 | KBDEXT }, // Home
@@ -141,10 +142,15 @@ static ALLOC_SECTION_LDATA VSC_VK aE1Vsc
* CTRL (L & R) is used to generate control characters
* ALT (L & R) used for generating characters by number with numpad
\***************************************************************************/
+#define KBD_Z 0x40
+#define KBD_T 0x80
static ALLOC_SECTION_LDATA VK_TO_BIT aVkToBits[] = {
{ VK_SHIFT , KBDSHIFT },
- { VK_CONTROL , KBDCTRL },
- { VK_MENU , KBDALT },
+ { VK_LCONTROL , KBDCTRL + KBDLOYA },
+ { VK_RCONTROL , KBDCTRL + KBDALT + KBDROYA },
+ { VK_LMENU , KBDALT + KBDKANA },
+ { VK_RMENU , KBDALT + KBDCTRL + KBDLOYA + KBD_Z },
+ { VK_OEM_AX , KBDALT + KBDCTRL + KBD_T },
{ 0 , 0 }
};
@@ -169,8 +175,8 @@ static ALLOC_SECTION_LDATA MODIFIERS Cha
SHFT_INVALID, // Shift Alt
SHFT_INVALID, // Ctrl Alt
SHFT_INVALID, // Shift Ctrl Alt
- SHFT_INVALID, // Kana
- SHFT_INVALID, // Shift Kana
+ 0, // Kana
+ 1, // Shift Kana
SHFT_INVALID, // Ctrl Kana
SHFT_INVALID, // Shift Ctrl Kana
SHFT_INVALID, // Alt Kana
@@ -187,8 +189,8 @@ static ALLOC_SECTION_LDATA MODIFIERS Cha
SHFT_INVALID, // Shift Ctrl Roya
SHFT_INVALID, // Alt Roya
SHFT_INVALID, // Shift Alt Roya
- SHFT_INVALID, // Ctrl Alt Roya
- SHFT_INVALID, // Shift Ctrl Alt Roya
+ 2, // Ctrl Alt Roya
+ 3, // Shift Ctrl Alt Roya
SHFT_INVALID, // Kana Roya
SHFT_INVALID, // Shift Kana Roya
SHFT_INVALID, // Ctrl Kana Roya
@@ -199,8 +201,8 @@ static ALLOC_SECTION_LDATA MODIFIERS Cha
16, // Shift Ctrl Alt Kana Roya
SHFT_INVALID, // Loya
SHFT_INVALID, // Shift Loya
- SHFT_INVALID, // Ctrl Loya
- SHFT_INVALID, // Shift Ctrl Loya
+ 2, // Ctrl Loya
+ 3, // Shift Ctrl Loya
SHFT_INVALID, // Alt Loya
SHFT_INVALID, // Shift Alt Loya
SHFT_INVALID, // Ctrl Alt Loya
@@ -523,16 +529,20 @@ static ALLOC_SECTION_LDATA VK_TO_WCHARS3
{0 ,0 ,0 ,0 ,0 }
};
-static ALLOC_SECTION_LDATA VK_TO_WCHARS6 aVkToWch6[] = {
+static ALLOC_SECTION_LDATA VK_TO_WCHARS10 aVkToWch10[] = {
// | | Shift | Ctrl |S+Ctrl | C+ X1 | C+ X1 |
// |=========|=========|=========|=========|=========|=========|
- {VK_SPACE ,0 ,' ' ,WCH_DEAD ,' ' ,WCH_NONE ,WCH_DEAD ,WCH_DEAD },
- {0xff ,0 ,WCH_NONE ,0x0138 ,WCH_NONE ,WCH_NONE ,0x0192 ,0x00a0 },
- {VK_ABNT_C2 ,0 ,WCH_DEAD ,WCH_DEAD ,WCH_NONE ,WCH_NONE ,WCH_DEAD ,0x0301 },
- {0xff ,0 ,0x06f0 ,0x00a0 ,WCH_NONE ,WCH_NONE ,0x00a3 ,WCH_NONE },
- {VK_OEM_8 ,0 ,WCH_DEAD ,WCH_DEAD ,WCH_NONE ,WCH_NONE ,WCH_DEAD ,0x0301 },
- {0xff ,0 ,0x06f0 ,0x00a0 ,WCH_NONE ,WCH_NONE ,0x00a3 ,WCH_NONE },
- {0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 }
+ {VK_SPACE ,0 ,' ' ,WCH_DEAD ,' ' ,WCH_NONE ,WCH_DEAD ,WCH_DEAD ,WCH_DEAD ,WCH_NONE ,WCH_DEAD ,WCH_NONE },
+ {0xff ,0 ,WCH_NONE ,0x0138 ,WCH_NONE ,WCH_NONE ,0x0192 ,0x00a0 ,0x06f0 ,WCH_NONE ,0x06f0 ,WCH_NONE },
+ {VK_CONVERT ,0 ,' ' ,WCH_DEAD ,' ' ,WCH_NONE ,WCH_DEAD ,WCH_DEAD ,WCH_NONE ,WCH_NONE ,WCH_DEAD ,WCH_NONE },
+ {0xff ,0 ,WCH_NONE ,0x0138 ,WCH_NONE ,WCH_NONE ,0x0192 ,0x00a0 ,0x06f0 ,WCH_NONE ,0x06f0 ,WCH_NONE },
+ {VK_NONCONVERT,0 ,' ' ,WCH_DEAD ,' ' ,WCH_NONE ,WCH_DEAD ,WCH_DEAD ,WCH_NONE ,WCH_NONE ,WCH_DEAD ,WCH_NONE },
+ {0xff ,0 ,WCH_NONE ,0x0138 ,WCH_NONE ,WCH_NONE ,0x0192 ,0x00a0 ,0x06f0 ,WCH_NONE ,0x06f0 ,WCH_NONE },
+ {VK_ABNT_C2 ,0 ,WCH_DEAD ,WCH_DEAD ,WCH_NONE ,WCH_NONE ,WCH_DEAD ,0x0301 ,WCH_NONE ,WCH_NONE ,WCH_NONE ,WCH_NONE },
+ {0xff ,0 ,0x06f0 ,0x00a0 ,WCH_NONE ,WCH_NONE ,0x00a3 ,WCH_NONE ,WCH_NONE ,WCH_NONE ,WCH_NONE ,WCH_NONE },
+ {VK_OEM_8 ,0 ,WCH_DEAD ,WCH_DEAD ,WCH_NONE ,WCH_NONE ,WCH_DEAD ,0x0301 ,WCH_NONE ,WCH_NONE ,WCH_NONE ,WCH_NONE },
+ {0xff ,0 ,0x06f0 ,0x00a0 ,WCH_NONE ,WCH_NONE ,0x00a3 ,WCH_NONE ,WCH_NONE ,WCH_NONE ,WCH_NONE ,WCH_NONE },
+ {0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 }
};
static ALLOC_SECTION_LDATA VK_TO_WCHARS45 aVkToWch45[] = {
@@ -656,6 +666,9 @@ static ALLOC_SECTION_LDATA VK_TO_WCHARS2
};
static ALLOC_SECTION_LDATA VK_TO_WCHAR_TABLE aVkToWcharTable[] = {
+ { (PVK_TO_WCHARS1)aVkToWch3, 3, sizeof(aVkToWch3[0]) },
+ { (PVK_TO_WCHARS1)aVkToWch10, 10, sizeof(aVkToWch10[0]) },
+ { (PVK_TO_WCHARS1)aVkToWch45, 45, sizeof(aVkToWch45[0]) },
{ (PVK_TO_WCHARS1)aVkToWch2, 2, sizeof(aVkToWch2[0]) },
{ (PVK_TO_WCHARS1)aVkToWch25, 25, sizeof(aVkToWch25[0]) },
{ NULL, 0, 0 },
--- iz-la-ru.H.orig 2013-03-09 16:06:20.205523100 -0800
+++ iz-la-ru.H 2013-03-09 16:48:24.179886200 -0800
@@ -37,3 +37,13 @@
#undef T7D
#define T7D _EQ( OEM_8 )
+#undef X5D /* Was: APPS; move to non-special "kinda-KANA" */
+#define X5D _EQ( OEM_AX )
+
+#undef T70 /* KANA */
+#define T70 _EQ( APPS )
+
+#undef T7B
+#define T7B _EQ( NONCONVERT )
+#undef T79
+#define T79 _EQ( CONVERT )