From dc6f51869414efb93653fb534a75642f2d5dc4ce Mon Sep 17 00:00:00 2001 From: sgschantz Date: Fri, 18 Oct 2024 15:27:57 +0700 Subject: [PATCH 1/3] fix(mac): support alt layers in OSK Fixes: #5721 --- .../KeymanEngine4Mac/KME/KVKFile.h | 3 +++ .../KeymanEngine4Mac/KME/KVKFile.m | 25 ++++++++++++++++--- .../KeymanEngine4Mac/KME/NKey.m | 2 +- .../KME/OnScreenKeyboard/OSKView.m | 15 ++++++++--- 4 files changed, 37 insertions(+), 8 deletions(-) diff --git a/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/KVKFile.h b/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/KVKFile.h index aec30425943..da9aa86e9c9 100644 --- a/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/KVKFile.h +++ b/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/KVKFile.h @@ -24,6 +24,9 @@ @property (strong, nonatomic, readonly) NFont *unicodeFont; @property (strong, nonatomic, readonly) NSArray *keys; @property (strong, nonatomic, readonly) NSString *filePath; +@property (readonly) BOOL containsAltKeys; +@property (readonly) BOOL containsLeftAltKeys; +@property (readonly) BOOL containsRightAltKeys; - (id)initWithFilePath:(NSString *)path; diff --git a/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/KVKFile.m b/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/KVKFile.m index bc9e9f1b058..0454ae51973 100644 --- a/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/KVKFile.m +++ b/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/KVKFile.m @@ -52,14 +52,31 @@ - (id)initWithFilePath:(NSString *)path { size = sizeof(keyCount); dataBuffer = [file readDataOfLength:size]; [dataBuffer getBytes:&keyCount length:size]; - + + _containsAltKeys = NO; + _containsLeftAltKeys = NO; + _containsRightAltKeys = NO; + NSMutableArray *mKeys = [[NSMutableArray alloc] initWithCapacity:keyCount]; for (int i = 0; i < keyCount; i++) { - [mKeys addObject:[KVKFile NKeyFromFile:file]]; + NKey *key = [KVKFile NKeyFromFile:file]; + if(key.shift & KVKS_ALT) { + _containsAltKeys = YES; + } + if(key.shift & KVKS_LALT) { + _containsLeftAltKeys = YES; + } + if(key.shift & KVKS_RALT) { + _containsRightAltKeys = YES; + } + [mKeys addObject:key]; } + + os_log_debug([KMELogs testLog], "KVKFile initWithFilePath, containsAltKeys:%d containsLeftAltKeys:%d containsRightAltKeys:%d", _containsAltKeys, _containsLeftAltKeys, _containsRightAltKeys); _keys = [NSArray arrayWithArray:mKeys]; + [file closeFile]; } @@ -146,7 +163,9 @@ + (NKey *)NKeyFromFile:(NSFileHandle *)file { nkey.bitmap = [[NSImage alloc] initWithCGImage:imageRef size:NSMakeSize(CGImageGetWidth(imageRep.CGImage), CGImageGetHeight(imageRep.CGImage))]; CGImageRelease(imageRef); } - + + os_log_debug([KMELogs testLog], "KVKFile NKeyFromFile: %{public}@", nkey); + return nkey; } diff --git a/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/NKey.m b/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/NKey.m index 90f842fd5f3..06e05c4894f 100644 --- a/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/NKey.m +++ b/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/NKey.m @@ -20,7 +20,7 @@ - (id)init { } - (NSString *)description { - NSString *format = @"<%@:%p flags:%d shift:%d virtualkey:%d text:%@ utf8:%@ bmp:%@>"; + NSString *format = @"<%@:%p flags:0x%hhX shift:0x%X virtualkey:0x%X text:%@ utf8:%@ bmp:%@>"; NSString *str = [NSString stringWithFormat:format, self.className, self, self.flags, self.shift, self.vkey, self.text, [self.text dataUsingEncoding:NSUTF8StringEncoding], self.bitmap]; return str; } diff --git a/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/OnScreenKeyboard/OSKView.m b/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/OnScreenKeyboard/OSKView.m index 2e96f944320..0a1ad7710e1 100644 --- a/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/OnScreenKeyboard/OSKView.m +++ b/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/OnScreenKeyboard/OSKView.m @@ -532,12 +532,19 @@ - (void)setKeyLabels:(BOOL)shift alt:(BOOL)alt ctrl:(BOOL)ctrl { nkeys = self.oskDefaultNKeys; WORD flags = 0; - if (shift) + if (shift) { flags |= KVKS_SHIFT; - if (alt) - flags |= KVKS_RALT; - if (ctrl) + } + if (alt) { + if (self.kvk.containsRightAltKeys) { + flags |= KVKS_RALT; + } else if (self.kvk.containsAltKeys) { + flags |= KVKS_ALT; + } + } + if (ctrl) { flags |= KVKS_RCTRL; + } NSString *ansiFont = [self ansiFont]; NSString *unicodeFont = [self unicodeFont]; From d57ff48d3122b22c8d22541fcccdb4e1ead1e534 Mon Sep 17 00:00:00 2001 From: sgschantz Date: Mon, 21 Oct 2024 15:07:25 +0700 Subject: [PATCH 2/3] fix(mac): rename flag properties of NKey value object --- .../KeymanEngine4Mac/KME/KMBinaryFileFormat.h | 2 +- .../KeymanEngine4Mac/KME/KVKFile.m | 10 +- .../KeymanEngine4Mac/KME/NKey.h | 4 +- .../KeymanEngine4Mac/KME/NKey.m | 2 +- .../KME/OnScreenKeyboard/OSKView.m | 198 +++++++++--------- 5 files changed, 108 insertions(+), 108 deletions(-) diff --git a/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/KMBinaryFileFormat.h b/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/KMBinaryFileFormat.h index 8126b1d5e75..894f0f4b9c2 100644 --- a/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/KMBinaryFileFormat.h +++ b/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/KMBinaryFileFormat.h @@ -209,7 +209,7 @@ struct COMP_KEY { #define KVKK_BITMAP 0x01 #define KVKK_UNICODE 0x02 -// KVK shift flags +// KVK modifier flags #define KVKS_NORMAL 0x00 #define KVKS_SHIFT 0x01 #define KVKS_CTRL 0x02 diff --git a/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/KVKFile.m b/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/KVKFile.m index 0454ae51973..a765c87406a 100644 --- a/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/KVKFile.m +++ b/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/KVKFile.m @@ -60,13 +60,13 @@ - (id)initWithFilePath:(NSString *)path { NSMutableArray *mKeys = [[NSMutableArray alloc] initWithCapacity:keyCount]; for (int i = 0; i < keyCount; i++) { NKey *key = [KVKFile NKeyFromFile:file]; - if(key.shift & KVKS_ALT) { + if(key.modifierFlags & KVKS_ALT) { _containsAltKeys = YES; } - if(key.shift & KVKS_LALT) { + if(key.modifierFlags & KVKS_LALT) { _containsLeftAltKeys = YES; } - if(key.shift & KVKS_RALT) { + if(key.modifierFlags & KVKS_RALT) { _containsRightAltKeys = YES; } [mKeys addObject:key]; @@ -135,13 +135,13 @@ + (NKey *)NKeyFromFile:(NSFileHandle *)file { size_t size = sizeof(flags); NSData *dataBuffer = [file readDataOfLength:size]; [dataBuffer getBytes:&flags length:size]; - nkey.flags = flags; + nkey.typeFlags = flags; WORD shift; size = sizeof(shift); dataBuffer = [file readDataOfLength:size]; [dataBuffer getBytes:&shift length:size]; - nkey.shift = shift; + nkey.modifierFlags = shift; WORD vkey; size = sizeof(vkey); diff --git a/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/NKey.h b/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/NKey.h index 7eaa03fe799..81bc3d9cb38 100644 --- a/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/NKey.h +++ b/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/NKey.h @@ -14,8 +14,8 @@ @interface NKey : NSObject -@property (assign, nonatomic) Byte flags; -@property (assign, nonatomic) WORD shift; +@property (assign, nonatomic) Byte typeFlags; +@property (assign, nonatomic) WORD modifierFlags; @property (assign, nonatomic) WORD vkey; @property (strong, nonatomic) NSString *text; @property (strong, nonatomic) NSImage *bitmap; diff --git a/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/NKey.m b/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/NKey.m index 06e05c4894f..85e46b85266 100644 --- a/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/NKey.m +++ b/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/NKey.m @@ -21,7 +21,7 @@ - (id)init { - (NSString *)description { NSString *format = @"<%@:%p flags:0x%hhX shift:0x%X virtualkey:0x%X text:%@ utf8:%@ bmp:%@>"; - NSString *str = [NSString stringWithFormat:format, self.className, self, self.flags, self.shift, self.vkey, self.text, [self.text dataUsingEncoding:NSUTF8StringEncoding], self.bitmap]; + NSString *str = [NSString stringWithFormat:format, self.className, self, self.typeFlags, self.modifierFlags, self.vkey, self.text, [self.text dataUsingEncoding:NSUTF8StringEncoding], self.bitmap]; return str; } diff --git a/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/OnScreenKeyboard/OSKView.m b/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/OnScreenKeyboard/OSKView.m index 0a1ad7710e1..6f9af9a2342 100644 --- a/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/OnScreenKeyboard/OSKView.m +++ b/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/OnScreenKeyboard/OSKView.m @@ -268,157 +268,157 @@ - (NSArray *)oskDefaultNKeys { NSMutableArray *defNKeys = [[NSMutableArray alloc] initWithCapacity:0]; // row 1 - NKey *nkey1 = [[NKey alloc] init]; nkey1.flags = 2; nkey1.shift = 0; nkey1.vkey = VK_GRAVE; nkey1.text = @"`"; nkey1.bitmap = nil; - NKey *nkey2 = [[NKey alloc] init]; nkey2.flags = 2; nkey2.shift = 1; nkey2.vkey = VK_GRAVE; nkey2.text = @"~"; nkey2.bitmap = nil; + NKey *nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_GRAVE; nkey1.text = @"`"; nkey1.bitmap = nil; + NKey *nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_GRAVE; nkey2.text = @"~"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.flags = 2; nkey1.shift = 0; nkey1.vkey = VK_KEY_1; nkey1.text = @"1"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.flags = 2; nkey2.shift = 1; nkey2.vkey = VK_KEY_1; nkey2.text = @"!"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_1; nkey1.text = @"1"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_1; nkey2.text = @"!"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.flags = 2; nkey1.shift = 0; nkey1.vkey = VK_KEY_2; nkey1.text = @"2"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.flags = 2; nkey2.shift = 1; nkey2.vkey = VK_KEY_2; nkey2.text = @"@"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_2; nkey1.text = @"2"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_2; nkey2.text = @"@"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.flags = 2; nkey1.shift = 0; nkey1.vkey = VK_KEY_3; nkey1.text = @"3"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.flags = 2; nkey2.shift = 1; nkey2.vkey = VK_KEY_3; nkey2.text = @"#"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_3; nkey1.text = @"3"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_3; nkey2.text = @"#"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.flags = 2; nkey1.shift = 0; nkey1.vkey = VK_KEY_4; nkey1.text = @"4"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.flags = 2; nkey2.shift = 1; nkey2.vkey = VK_KEY_4; nkey2.text = @"$"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_4; nkey1.text = @"4"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_4; nkey2.text = @"$"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.flags = 2; nkey1.shift = 0; nkey1.vkey = VK_KEY_5; nkey1.text = @"5"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.flags = 2; nkey2.shift = 1; nkey2.vkey = VK_KEY_5; nkey2.text = @"%"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_5; nkey1.text = @"5"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_5; nkey2.text = @"%"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.flags = 2; nkey1.shift = 0; nkey1.vkey = VK_KEY_6; nkey1.text = @"6"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.flags = 2; nkey2.shift = 1; nkey2.vkey = VK_KEY_6; nkey2.text = @"^"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_6; nkey1.text = @"6"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_6; nkey2.text = @"^"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.flags = 2; nkey1.shift = 0; nkey1.vkey = VK_KEY_7; nkey1.text = @"7"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.flags = 2; nkey2.shift = 1; nkey2.vkey = VK_KEY_7; nkey2.text = @"&"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_7; nkey1.text = @"7"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_7; nkey2.text = @"&"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.flags = 2; nkey1.shift = 0; nkey1.vkey = VK_KEY_8; nkey1.text = @"8"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.flags = 2; nkey2.shift = 1; nkey2.vkey = VK_KEY_8; nkey2.text = @"*"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_8; nkey1.text = @"8"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_8; nkey2.text = @"*"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.flags = 2; nkey1.shift = 0; nkey1.vkey = VK_KEY_9; nkey1.text = @"9"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.flags = 2; nkey2.shift = 1; nkey2.vkey = VK_KEY_9; nkey2.text = @"("; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_9; nkey1.text = @"9"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_9; nkey2.text = @"("; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.flags = 2; nkey1.shift = 0; nkey1.vkey = VK_KEY_0; nkey1.text = @"0"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.flags = 2; nkey2.shift = 1; nkey2.vkey = VK_KEY_0; nkey2.text = @")"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_0; nkey1.text = @"0"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_0; nkey2.text = @")"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.flags = 2; nkey1.shift = 0; nkey1.vkey = VK_MINUS; nkey1.text = @"-"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.flags = 2; nkey2.shift = 1; nkey2.vkey = VK_MINUS; nkey2.text = @"_"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_MINUS; nkey1.text = @"-"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_MINUS; nkey2.text = @"_"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.flags = 2; nkey1.shift = 0; nkey1.vkey = VK_EQUAL; nkey1.text = @"="; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.flags = 2; nkey2.shift = 1; nkey2.vkey = VK_EQUAL; nkey2.text = @"+"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_EQUAL; nkey1.text = @"="; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_EQUAL; nkey2.text = @"+"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; // row 2 - nkey1 = [[NKey alloc] init]; nkey1.flags = 2; nkey1.shift = 0; nkey1.vkey = VK_KEY_Q; nkey1.text = @"q"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.flags = 2; nkey2.shift = 1; nkey2.vkey = VK_KEY_Q; nkey2.text = @"Q"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_Q; nkey1.text = @"q"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_Q; nkey2.text = @"Q"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.flags = 2; nkey1.shift = 0; nkey1.vkey = VK_KEY_W; nkey1.text = @"w"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.flags = 2; nkey2.shift = 1; nkey2.vkey = VK_KEY_W; nkey2.text = @"W"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_W; nkey1.text = @"w"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_W; nkey2.text = @"W"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.flags = 2; nkey1.shift = 0; nkey1.vkey = VK_KEY_E; nkey1.text = @"e"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.flags = 2; nkey2.shift = 1; nkey2.vkey = VK_KEY_E; nkey2.text = @"E"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_E; nkey1.text = @"e"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_E; nkey2.text = @"E"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.flags = 2; nkey1.shift = 0; nkey1.vkey = VK_KEY_R; nkey1.text = @"r"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.flags = 2; nkey2.shift = 1; nkey2.vkey = VK_KEY_R; nkey2.text = @"R"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_R; nkey1.text = @"r"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_R; nkey2.text = @"R"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.flags = 2; nkey1.shift = 0; nkey1.vkey = VK_KEY_T; nkey1.text = @"t"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.flags = 2; nkey2.shift = 1; nkey2.vkey = VK_KEY_T; nkey2.text = @"T"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_T; nkey1.text = @"t"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_T; nkey2.text = @"T"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.flags = 2; nkey1.shift = 0; nkey1.vkey = VK_KEY_Y; nkey1.text = @"y"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.flags = 2; nkey2.shift = 1; nkey2.vkey = VK_KEY_Y; nkey2.text = @"Y"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_Y; nkey1.text = @"y"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_Y; nkey2.text = @"Y"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.flags = 2; nkey1.shift = 0; nkey1.vkey = VK_KEY_U; nkey1.text = @"u"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.flags = 2; nkey2.shift = 1; nkey2.vkey = VK_KEY_U; nkey2.text = @"U"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_U; nkey1.text = @"u"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_U; nkey2.text = @"U"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.flags = 2; nkey1.shift = 0; nkey1.vkey = VK_KEY_I; nkey1.text = @"i"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.flags = 2; nkey2.shift = 1; nkey2.vkey = VK_KEY_I; nkey2.text = @"I"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_I; nkey1.text = @"i"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_I; nkey2.text = @"I"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.flags = 2; nkey1.shift = 0; nkey1.vkey = VK_KEY_O; nkey1.text = @"o"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.flags = 2; nkey2.shift = 1; nkey2.vkey = VK_KEY_O; nkey2.text = @"O"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_O; nkey1.text = @"o"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_O; nkey2.text = @"O"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.flags = 2; nkey1.shift = 0; nkey1.vkey = VK_KEY_P; nkey1.text = @"p"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.flags = 2; nkey2.shift = 1; nkey2.vkey = VK_KEY_P; nkey2.text = @"P"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_P; nkey1.text = @"p"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_P; nkey2.text = @"P"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.flags = 2; nkey1.shift = 0; nkey1.vkey = VK_LEFT_BRACKET; nkey1.text = @"["; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.flags = 2; nkey2.shift = 1; nkey2.vkey = VK_LEFT_BRACKET; nkey2.text = @"{"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_LEFT_BRACKET; nkey1.text = @"["; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_LEFT_BRACKET; nkey2.text = @"{"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.flags = 2; nkey1.shift = 0; nkey1.vkey = VK_RIGHT_BRACKET; nkey1.text = @"]"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.flags = 2; nkey2.shift = 1; nkey2.vkey = VK_RIGHT_BRACKET; nkey2.text = @"}"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_RIGHT_BRACKET; nkey1.text = @"]"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_RIGHT_BRACKET; nkey2.text = @"}"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.flags = 2; nkey1.shift = 0; nkey1.vkey = VK_BACKSLASH; nkey1.text = @"\\"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.flags = 2; nkey2.shift = 1; nkey2.vkey = VK_BACKSLASH; nkey2.text = @"|"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_BACKSLASH; nkey1.text = @"\\"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_BACKSLASH; nkey2.text = @"|"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; // row 3 - nkey1 = [[NKey alloc] init]; nkey1.flags = 2; nkey1.shift = 0; nkey1.vkey = VK_KEY_A; nkey1.text = @"a"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.flags = 2; nkey2.shift = 1; nkey2.vkey = VK_KEY_A; nkey2.text = @"A"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_A; nkey1.text = @"a"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_A; nkey2.text = @"A"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.flags = 2; nkey1.shift = 0; nkey1.vkey = VK_KEY_S; nkey1.text = @"s"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.flags = 2; nkey2.shift = 1; nkey2.vkey = VK_KEY_S; nkey2.text = @"S"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_S; nkey1.text = @"s"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_S; nkey2.text = @"S"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.flags = 2; nkey1.shift = 0; nkey1.vkey = VK_KEY_D; nkey1.text = @"d"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.flags = 2; nkey2.shift = 1; nkey2.vkey = VK_KEY_D; nkey2.text = @"D"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_D; nkey1.text = @"d"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_D; nkey2.text = @"D"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.flags = 2; nkey1.shift = 0; nkey1.vkey = VK_KEY_F; nkey1.text = @"f"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.flags = 2; nkey2.shift = 1; nkey2.vkey = VK_KEY_F; nkey2.text = @"F"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_F; nkey1.text = @"f"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_F; nkey2.text = @"F"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.flags = 2; nkey1.shift = 0; nkey1.vkey = VK_KEY_G; nkey1.text = @"g"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.flags = 2; nkey2.shift = 1; nkey2.vkey = VK_KEY_G; nkey2.text = @"G"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_G; nkey1.text = @"g"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_G; nkey2.text = @"G"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.flags = 2; nkey1.shift = 0; nkey1.vkey = VK_KEY_H; nkey1.text = @"h"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.flags = 2; nkey2.shift = 1; nkey2.vkey = VK_KEY_H; nkey2.text = @"H"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_H; nkey1.text = @"h"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_H; nkey2.text = @"H"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.flags = 2; nkey1.shift = 0; nkey1.vkey = VK_KEY_J; nkey1.text = @"j"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.flags = 2; nkey2.shift = 1; nkey2.vkey = VK_KEY_J; nkey2.text = @"J"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_J; nkey1.text = @"j"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_J; nkey2.text = @"J"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.flags = 2; nkey1.shift = 0; nkey1.vkey = VK_KEY_K; nkey1.text = @"k"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.flags = 2; nkey2.shift = 1; nkey2.vkey = VK_KEY_K; nkey2.text = @"K"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_K; nkey1.text = @"k"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_K; nkey2.text = @"K"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.flags = 2; nkey1.shift = 0; nkey1.vkey = VK_KEY_L; nkey1.text = @"l"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.flags = 2; nkey2.shift = 1; nkey2.vkey = VK_KEY_L; nkey2.text = @"L"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_L; nkey1.text = @"l"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_L; nkey2.text = @"L"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.flags = 2; nkey1.shift = 0; nkey1.vkey = VK_SEMICOLON; nkey1.text = @";"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.flags = 2; nkey2.shift = 1; nkey2.vkey = VK_SEMICOLON; nkey2.text = @":"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_SEMICOLON; nkey1.text = @";"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_SEMICOLON; nkey2.text = @":"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.flags = 2; nkey1.shift = 0; nkey1.vkey = VK_QUOTE; nkey1.text = @"'"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.flags = 2; nkey2.shift = 1; nkey2.vkey = VK_QUOTE; nkey2.text = @"\""; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_QUOTE; nkey1.text = @"'"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_QUOTE; nkey2.text = @"\""; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; if([self use102ndKey]) { - nkey1 = [[NKey alloc] init]; nkey1.flags = 2; nkey1.shift = 0; nkey1.vkey = VK_OEM_102; nkey1.text = @"\\"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.flags = 2; nkey2.shift = 1; nkey2.vkey = VK_OEM_102; nkey2.text = @"|"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_OEM_102; nkey1.text = @"\\"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_OEM_102; nkey2.text = @"|"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; } // row 4 - nkey1 = [[NKey alloc] init]; nkey1.flags = 2; nkey1.shift = 0; nkey1.vkey = VK_KEY_Z; nkey1.text = @"z"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.flags = 2; nkey2.shift = 1; nkey2.vkey = VK_KEY_Z; nkey2.text = @"Z"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_Z; nkey1.text = @"z"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_Z; nkey2.text = @"Z"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.flags = 2; nkey1.shift = 0; nkey1.vkey = VK_KEY_X; nkey1.text = @"x"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.flags = 2; nkey2.shift = 1; nkey2.vkey = VK_KEY_X; nkey2.text = @"X"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_X; nkey1.text = @"x"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_X; nkey2.text = @"X"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.flags = 2; nkey1.shift = 0; nkey1.vkey = VK_KEY_C; nkey1.text = @"c"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.flags = 2; nkey2.shift = 1; nkey2.vkey = VK_KEY_C; nkey2.text = @"C"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_C; nkey1.text = @"c"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_C; nkey2.text = @"C"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.flags = 2; nkey1.shift = 0; nkey1.vkey = VK_KEY_V; nkey1.text = @"v"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.flags = 2; nkey2.shift = 1; nkey2.vkey = VK_KEY_V; nkey2.text = @"V"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_V; nkey1.text = @"v"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_V; nkey2.text = @"V"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.flags = 2; nkey1.shift = 0; nkey1.vkey = VK_KEY_B; nkey1.text = @"b"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.flags = 2; nkey2.shift = 1; nkey2.vkey = VK_KEY_B; nkey2.text = @"B"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_B; nkey1.text = @"b"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_B; nkey2.text = @"B"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.flags = 2; nkey1.shift = 0; nkey1.vkey = VK_KEY_N; nkey1.text = @"n"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.flags = 2; nkey2.shift = 1; nkey2.vkey = VK_KEY_N; nkey2.text = @"N"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_N; nkey1.text = @"n"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_N; nkey2.text = @"N"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.flags = 2; nkey1.shift = 0; nkey1.vkey = VK_KEY_M; nkey1.text = @"m"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.flags = 2; nkey2.shift = 1; nkey2.vkey = VK_KEY_M; nkey2.text = @"M"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_M; nkey1.text = @"m"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_M; nkey2.text = @"M"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.flags = 2; nkey1.shift = 0; nkey1.vkey = VK_COMMA; nkey1.text = @","; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.flags = 2; nkey2.shift = 1; nkey2.vkey = VK_COMMA; nkey2.text = @"<"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_COMMA; nkey1.text = @","; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_COMMA; nkey2.text = @"<"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.flags = 2; nkey1.shift = 0; nkey1.vkey = VK_PERIOD; nkey1.text = @"."; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.flags = 2; nkey2.shift = 1; nkey2.vkey = VK_PERIOD; nkey2.text = @">"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_PERIOD; nkey1.text = @"."; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_PERIOD; nkey2.text = @">"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.flags = 2; nkey1.shift = 0; nkey1.vkey = VK_SLASH; nkey1.text = @"/"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.flags = 2; nkey2.shift = 1; nkey2.vkey = VK_SLASH; nkey2.text = @"?"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_SLASH; nkey1.text = @"/"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_SLASH; nkey2.text = @"?"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; _oskDefaultNKeys = [[NSArray alloc] initWithArray:defNKeys]; @@ -550,7 +550,7 @@ - (void)setKeyLabels:(BOOL)shift alt:(BOOL)alt ctrl:(BOOL)ctrl { NSString *unicodeFont = [self unicodeFont]; unsigned short keyCode; for (NKey *nkey in nkeys) { - if (nkey.shift == flags) { + if (nkey.modifierFlags == flags) { keyCode = [self MacKeyCode:nkey.vkey]; os_log_debug([KMELogs keyLog], "keyCode: %d, %x for key: %{public}@", keyCode, keyCode, nkey); if (keyCode < USHRT_MAX) { @@ -560,7 +560,7 @@ - (void)setKeyLabels:(BOOL)shift alt:(BOOL)alt ctrl:(BOOL)ctrl { KeyView *keyView = (KeyView *)view; [keyView setLabelFont:ansiFont]; - if (nkey.flags & KVKK_UNICODE) { + if (nkey.typeFlags & KVKK_UNICODE) { [keyView setLabelText:nkey.text]; NSString* label = nkey.text; NSData* data = [label dataUsingEncoding:NSUTF8StringEncoding]; @@ -569,7 +569,7 @@ - (void)setKeyLabels:(BOOL)shift alt:(BOOL)alt ctrl:(BOOL)ctrl { [mKeys removeObject:[NSNumber numberWithInteger:(keyCode|0x1000)]]; } - if (nkey.flags & KVKK_BITMAP) { + if (nkey.typeFlags & KVKK_BITMAP) { [keyView setBitmap:nkey.bitmap]; } From 8acff153efe631bd93b0f94b609f3f4832befc0d Mon Sep 17 00:00:00 2001 From: sgschantz Date: Mon, 21 Oct 2024 15:21:47 +0700 Subject: [PATCH 3/3] fix(mac): rename properties and variables --- .../KeymanEngine4Mac/KME/KVKFile.m | 28 +-- .../KeymanEngine4Mac/KME/NKey.h | 2 +- .../KeymanEngine4Mac/KME/NKey.m | 2 +- .../KME/OnScreenKeyboard/OSKView.m | 194 +++++++++--------- 4 files changed, 113 insertions(+), 113 deletions(-) diff --git a/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/KVKFile.m b/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/KVKFile.m index a765c87406a..931b57f962c 100644 --- a/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/KVKFile.m +++ b/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/KVKFile.m @@ -72,7 +72,7 @@ - (id)initWithFilePath:(NSString *)path { [mKeys addObject:key]; } - os_log_debug([KMELogs testLog], "KVKFile initWithFilePath, containsAltKeys:%d containsLeftAltKeys:%d containsRightAltKeys:%d", _containsAltKeys, _containsLeftAltKeys, _containsRightAltKeys); + os_log_debug([KMELogs oskLog], "KVKFile initWithFilePath, containsAltKeys:%d containsLeftAltKeys:%d containsRightAltKeys:%d", _containsAltKeys, _containsLeftAltKeys, _containsRightAltKeys); _keys = [NSArray arrayWithArray:mKeys]; @@ -131,23 +131,23 @@ + (NFont *)NFontFromFile:(NSFileHandle *)file { + (NKey *)NKeyFromFile:(NSFileHandle *)file { NKey *nkey = [[NKey alloc] init]; - Byte flags; - size_t size = sizeof(flags); + Byte typeFlags; + size_t size = sizeof(typeFlags); NSData *dataBuffer = [file readDataOfLength:size]; - [dataBuffer getBytes:&flags length:size]; - nkey.typeFlags = flags; + [dataBuffer getBytes:&typeFlags length:size]; + nkey.typeFlags = typeFlags; - WORD shift; - size = sizeof(shift); + WORD modifierFlags; + size = sizeof(modifierFlags); dataBuffer = [file readDataOfLength:size]; - [dataBuffer getBytes:&shift length:size]; - nkey.modifierFlags = shift; + [dataBuffer getBytes:&modifierFlags length:size]; + nkey.modifierFlags = modifierFlags; - WORD vkey; - size = sizeof(vkey); + WORD keyCode; + size = sizeof(keyCode); dataBuffer = [file readDataOfLength:size]; - [dataBuffer getBytes:&vkey length:size]; - nkey.vkey = vkey; + [dataBuffer getBytes:&keyCode length:size]; + nkey.keyCode = keyCode; nkey.text = [KVKFile NStringFromFile:file]; @@ -164,7 +164,7 @@ + (NKey *)NKeyFromFile:(NSFileHandle *)file { CGImageRelease(imageRef); } - os_log_debug([KMELogs testLog], "KVKFile NKeyFromFile: %{public}@", nkey); + os_log_debug([KMELogs oskLog], "KVKFile NKeyFromFile: %{public}@", nkey); return nkey; } diff --git a/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/NKey.h b/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/NKey.h index 81bc3d9cb38..7efa148d8de 100644 --- a/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/NKey.h +++ b/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/NKey.h @@ -16,7 +16,7 @@ @property (assign, nonatomic) Byte typeFlags; @property (assign, nonatomic) WORD modifierFlags; -@property (assign, nonatomic) WORD vkey; +@property (assign, nonatomic) WORD keyCode; @property (strong, nonatomic) NSString *text; @property (strong, nonatomic) NSImage *bitmap; diff --git a/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/NKey.m b/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/NKey.m index 85e46b85266..b22badfa14f 100644 --- a/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/NKey.m +++ b/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/NKey.m @@ -21,7 +21,7 @@ - (id)init { - (NSString *)description { NSString *format = @"<%@:%p flags:0x%hhX shift:0x%X virtualkey:0x%X text:%@ utf8:%@ bmp:%@>"; - NSString *str = [NSString stringWithFormat:format, self.className, self, self.typeFlags, self.modifierFlags, self.vkey, self.text, [self.text dataUsingEncoding:NSUTF8StringEncoding], self.bitmap]; + NSString *str = [NSString stringWithFormat:format, self.className, self, self.typeFlags, self.modifierFlags, self.keyCode, self.text, [self.text dataUsingEncoding:NSUTF8StringEncoding], self.bitmap]; return str; } diff --git a/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/OnScreenKeyboard/OSKView.m b/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/OnScreenKeyboard/OSKView.m index 6f9af9a2342..4a4cb98c776 100644 --- a/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/OnScreenKeyboard/OSKView.m +++ b/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/OnScreenKeyboard/OSKView.m @@ -268,157 +268,157 @@ - (NSArray *)oskDefaultNKeys { NSMutableArray *defNKeys = [[NSMutableArray alloc] initWithCapacity:0]; // row 1 - NKey *nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_GRAVE; nkey1.text = @"`"; nkey1.bitmap = nil; - NKey *nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_GRAVE; nkey2.text = @"~"; nkey2.bitmap = nil; + NKey *nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.keyCode = VK_GRAVE; nkey1.text = @"`"; nkey1.bitmap = nil; + NKey *nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.keyCode = VK_GRAVE; nkey2.text = @"~"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_1; nkey1.text = @"1"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_1; nkey2.text = @"!"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.keyCode = VK_KEY_1; nkey1.text = @"1"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.keyCode = VK_KEY_1; nkey2.text = @"!"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_2; nkey1.text = @"2"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_2; nkey2.text = @"@"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.keyCode = VK_KEY_2; nkey1.text = @"2"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.keyCode = VK_KEY_2; nkey2.text = @"@"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_3; nkey1.text = @"3"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_3; nkey2.text = @"#"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.keyCode = VK_KEY_3; nkey1.text = @"3"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.keyCode = VK_KEY_3; nkey2.text = @"#"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_4; nkey1.text = @"4"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_4; nkey2.text = @"$"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.keyCode = VK_KEY_4; nkey1.text = @"4"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.keyCode = VK_KEY_4; nkey2.text = @"$"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_5; nkey1.text = @"5"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_5; nkey2.text = @"%"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.keyCode = VK_KEY_5; nkey1.text = @"5"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.keyCode = VK_KEY_5; nkey2.text = @"%"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_6; nkey1.text = @"6"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_6; nkey2.text = @"^"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.keyCode = VK_KEY_6; nkey1.text = @"6"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.keyCode = VK_KEY_6; nkey2.text = @"^"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_7; nkey1.text = @"7"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_7; nkey2.text = @"&"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.keyCode = VK_KEY_7; nkey1.text = @"7"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.keyCode = VK_KEY_7; nkey2.text = @"&"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_8; nkey1.text = @"8"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_8; nkey2.text = @"*"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.keyCode = VK_KEY_8; nkey1.text = @"8"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.keyCode = VK_KEY_8; nkey2.text = @"*"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_9; nkey1.text = @"9"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_9; nkey2.text = @"("; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.keyCode = VK_KEY_9; nkey1.text = @"9"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.keyCode = VK_KEY_9; nkey2.text = @"("; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_0; nkey1.text = @"0"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_0; nkey2.text = @")"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.keyCode = VK_KEY_0; nkey1.text = @"0"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.keyCode = VK_KEY_0; nkey2.text = @")"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_MINUS; nkey1.text = @"-"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_MINUS; nkey2.text = @"_"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.keyCode = VK_MINUS; nkey1.text = @"-"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.keyCode = VK_MINUS; nkey2.text = @"_"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_EQUAL; nkey1.text = @"="; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_EQUAL; nkey2.text = @"+"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.keyCode = VK_EQUAL; nkey1.text = @"="; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.keyCode = VK_EQUAL; nkey2.text = @"+"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; // row 2 - nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_Q; nkey1.text = @"q"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_Q; nkey2.text = @"Q"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.keyCode = VK_KEY_Q; nkey1.text = @"q"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.keyCode = VK_KEY_Q; nkey2.text = @"Q"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_W; nkey1.text = @"w"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_W; nkey2.text = @"W"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.keyCode = VK_KEY_W; nkey1.text = @"w"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.keyCode = VK_KEY_W; nkey2.text = @"W"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_E; nkey1.text = @"e"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_E; nkey2.text = @"E"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.keyCode = VK_KEY_E; nkey1.text = @"e"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.keyCode = VK_KEY_E; nkey2.text = @"E"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_R; nkey1.text = @"r"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_R; nkey2.text = @"R"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.keyCode = VK_KEY_R; nkey1.text = @"r"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.keyCode = VK_KEY_R; nkey2.text = @"R"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_T; nkey1.text = @"t"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_T; nkey2.text = @"T"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.keyCode = VK_KEY_T; nkey1.text = @"t"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.keyCode = VK_KEY_T; nkey2.text = @"T"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_Y; nkey1.text = @"y"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_Y; nkey2.text = @"Y"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.keyCode = VK_KEY_Y; nkey1.text = @"y"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.keyCode = VK_KEY_Y; nkey2.text = @"Y"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_U; nkey1.text = @"u"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_U; nkey2.text = @"U"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.keyCode = VK_KEY_U; nkey1.text = @"u"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.keyCode = VK_KEY_U; nkey2.text = @"U"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_I; nkey1.text = @"i"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_I; nkey2.text = @"I"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.keyCode = VK_KEY_I; nkey1.text = @"i"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.keyCode = VK_KEY_I; nkey2.text = @"I"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_O; nkey1.text = @"o"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_O; nkey2.text = @"O"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.keyCode = VK_KEY_O; nkey1.text = @"o"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.keyCode = VK_KEY_O; nkey2.text = @"O"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_P; nkey1.text = @"p"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_P; nkey2.text = @"P"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.keyCode = VK_KEY_P; nkey1.text = @"p"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.keyCode = VK_KEY_P; nkey2.text = @"P"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_LEFT_BRACKET; nkey1.text = @"["; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_LEFT_BRACKET; nkey2.text = @"{"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.keyCode = VK_LEFT_BRACKET; nkey1.text = @"["; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.keyCode = VK_LEFT_BRACKET; nkey2.text = @"{"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_RIGHT_BRACKET; nkey1.text = @"]"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_RIGHT_BRACKET; nkey2.text = @"}"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.keyCode = VK_RIGHT_BRACKET; nkey1.text = @"]"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.keyCode = VK_RIGHT_BRACKET; nkey2.text = @"}"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_BACKSLASH; nkey1.text = @"\\"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_BACKSLASH; nkey2.text = @"|"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.keyCode = VK_BACKSLASH; nkey1.text = @"\\"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.keyCode = VK_BACKSLASH; nkey2.text = @"|"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; // row 3 - nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_A; nkey1.text = @"a"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_A; nkey2.text = @"A"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.keyCode = VK_KEY_A; nkey1.text = @"a"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.keyCode = VK_KEY_A; nkey2.text = @"A"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_S; nkey1.text = @"s"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_S; nkey2.text = @"S"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.keyCode = VK_KEY_S; nkey1.text = @"s"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.keyCode = VK_KEY_S; nkey2.text = @"S"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_D; nkey1.text = @"d"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_D; nkey2.text = @"D"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.keyCode = VK_KEY_D; nkey1.text = @"d"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.keyCode = VK_KEY_D; nkey2.text = @"D"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_F; nkey1.text = @"f"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_F; nkey2.text = @"F"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.keyCode = VK_KEY_F; nkey1.text = @"f"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.keyCode = VK_KEY_F; nkey2.text = @"F"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_G; nkey1.text = @"g"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_G; nkey2.text = @"G"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.keyCode = VK_KEY_G; nkey1.text = @"g"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.keyCode = VK_KEY_G; nkey2.text = @"G"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_H; nkey1.text = @"h"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_H; nkey2.text = @"H"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.keyCode = VK_KEY_H; nkey1.text = @"h"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.keyCode = VK_KEY_H; nkey2.text = @"H"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_J; nkey1.text = @"j"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_J; nkey2.text = @"J"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.keyCode = VK_KEY_J; nkey1.text = @"j"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.keyCode = VK_KEY_J; nkey2.text = @"J"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_K; nkey1.text = @"k"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_K; nkey2.text = @"K"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.keyCode = VK_KEY_K; nkey1.text = @"k"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.keyCode = VK_KEY_K; nkey2.text = @"K"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_L; nkey1.text = @"l"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_L; nkey2.text = @"L"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.keyCode = VK_KEY_L; nkey1.text = @"l"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.keyCode = VK_KEY_L; nkey2.text = @"L"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_SEMICOLON; nkey1.text = @";"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_SEMICOLON; nkey2.text = @":"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.keyCode = VK_SEMICOLON; nkey1.text = @";"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.keyCode = VK_SEMICOLON; nkey2.text = @":"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_QUOTE; nkey1.text = @"'"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_QUOTE; nkey2.text = @"\""; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.keyCode = VK_QUOTE; nkey1.text = @"'"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.keyCode = VK_QUOTE; nkey2.text = @"\""; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; if([self use102ndKey]) { - nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_OEM_102; nkey1.text = @"\\"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_OEM_102; nkey2.text = @"|"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.keyCode = VK_OEM_102; nkey1.text = @"\\"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.keyCode = VK_OEM_102; nkey2.text = @"|"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; } // row 4 - nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_Z; nkey1.text = @"z"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_Z; nkey2.text = @"Z"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.keyCode = VK_KEY_Z; nkey1.text = @"z"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.keyCode = VK_KEY_Z; nkey2.text = @"Z"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_X; nkey1.text = @"x"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_X; nkey2.text = @"X"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.keyCode = VK_KEY_X; nkey1.text = @"x"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.keyCode = VK_KEY_X; nkey2.text = @"X"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_C; nkey1.text = @"c"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_C; nkey2.text = @"C"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.keyCode = VK_KEY_C; nkey1.text = @"c"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.keyCode = VK_KEY_C; nkey2.text = @"C"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_V; nkey1.text = @"v"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_V; nkey2.text = @"V"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.keyCode = VK_KEY_V; nkey1.text = @"v"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.keyCode = VK_KEY_V; nkey2.text = @"V"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_B; nkey1.text = @"b"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_B; nkey2.text = @"B"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.keyCode = VK_KEY_B; nkey1.text = @"b"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.keyCode = VK_KEY_B; nkey2.text = @"B"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_N; nkey1.text = @"n"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_N; nkey2.text = @"N"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.keyCode = VK_KEY_N; nkey1.text = @"n"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.keyCode = VK_KEY_N; nkey2.text = @"N"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_KEY_M; nkey1.text = @"m"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_KEY_M; nkey2.text = @"M"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.keyCode = VK_KEY_M; nkey1.text = @"m"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.keyCode = VK_KEY_M; nkey2.text = @"M"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_COMMA; nkey1.text = @","; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_COMMA; nkey2.text = @"<"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.keyCode = VK_COMMA; nkey1.text = @","; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.keyCode = VK_COMMA; nkey2.text = @"<"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_PERIOD; nkey1.text = @"."; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_PERIOD; nkey2.text = @">"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.keyCode = VK_PERIOD; nkey1.text = @"."; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.keyCode = VK_PERIOD; nkey2.text = @">"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; - nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.vkey = VK_SLASH; nkey1.text = @"/"; nkey1.bitmap = nil; - nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.vkey = VK_SLASH; nkey2.text = @"?"; nkey2.bitmap = nil; + nkey1 = [[NKey alloc] init]; nkey1.typeFlags = 2; nkey1.modifierFlags = 0; nkey1.keyCode = VK_SLASH; nkey1.text = @"/"; nkey1.bitmap = nil; + nkey2 = [[NKey alloc] init]; nkey2.typeFlags = 2; nkey2.modifierFlags = 1; nkey2.keyCode = VK_SLASH; nkey2.text = @"?"; nkey2.bitmap = nil; [defNKeys addObjectsFromArray:@[nkey1, nkey2]]; _oskDefaultNKeys = [[NSArray alloc] initWithArray:defNKeys]; @@ -551,7 +551,7 @@ - (void)setKeyLabels:(BOOL)shift alt:(BOOL)alt ctrl:(BOOL)ctrl { unsigned short keyCode; for (NKey *nkey in nkeys) { if (nkey.modifierFlags == flags) { - keyCode = [self MacKeyCode:nkey.vkey]; + keyCode = [self MacKeyCode:nkey.keyCode]; os_log_debug([KMELogs keyLog], "keyCode: %d, %x for key: %{public}@", keyCode, keyCode, nkey); if (keyCode < USHRT_MAX) { NSView *view = [self viewWithTag:keyCode|0x1000];