From 97cbac546da6d9b0e5ab47a6a71d1375133eca8b Mon Sep 17 00:00:00 2001 From: sabine_schmitt Date: Fri, 21 Aug 2026 23:00:44 +0200 Subject: [PATCH 1/3] chore(mac): add info on macOS version --- docs/build/macos.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/build/macos.md b/docs/build/macos.md index 76a6577ea1f..a286c417195 100644 --- a/docs/build/macos.md +++ b/docs/build/macos.md @@ -28,7 +28,8 @@ The following projects **cannot** be built on macOS: ## System Requirements * Minimum macOS version: macOS Catalina 10.15 or Big Sur 11.0 -(make sure bash 4.0 is installed and used as modern macOS defaults to Zsh as its primary system shell) +(For using Xcode 26.2 or 26.3 macOS Sequoia 15.6 or later is required. +Make sure bash 4.0 is installed and used as modern macOS defaults to Zsh as its primary system shell) **Note:** to make a fully M1-compatible release build of Keyman for macOS (for the setup Applescript), Big Sur 11.0 is required, as osacompile on earlier From ba4aa6ad8081308c5157cb748530d855252b0eaf Mon Sep 17 00:00:00 2001 From: sabine_schmitt Date: Fri, 4 Sep 2026 14:21:47 +0200 Subject: [PATCH 2/3] chore(mac): use preprocessor constants from km_vkey.h; remove WindowsVKCodes.h --- .../KeymanEngine4Mac/CoreWrapper/CoreHelper.m | 2 +- .../KeymanEngine4Mac/KME/KMEngine.m | 2 +- .../KME/OnScreenKeyboard/OSKView.m | 2 +- .../KeymanEngine4Mac/KME/WindowsVKCodes.h | 86 ------------------- 4 files changed, 3 insertions(+), 89 deletions(-) delete mode 100644 mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/WindowsVKCodes.h diff --git a/mac/KeymanEngine4Mac/KeymanEngine4Mac/CoreWrapper/CoreHelper.m b/mac/KeymanEngine4Mac/KeymanEngine4Mac/CoreWrapper/CoreHelper.m index c7858e7b0d9..ad2b88121a4 100644 --- a/mac/KeymanEngine4Mac/KeymanEngine4Mac/CoreWrapper/CoreHelper.m +++ b/mac/KeymanEngine4Mac/KeymanEngine4Mac/CoreWrapper/CoreHelper.m @@ -18,7 +18,7 @@ #import "CoreAction.h" #import "keyman_core_api.h" #import "MacVKCodes.h" -#import "WindowsVKCodes.h" +#import "km_vkey.h" #import "KMELogs.h" const int VIRTUAL_KEY_ARRAY_SIZE = 0x80; diff --git a/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/KMEngine.m b/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/KMEngine.m index fd59c48b620..01f59f0a975 100644 --- a/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/KMEngine.m +++ b/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/KMEngine.m @@ -8,7 +8,7 @@ #import "KMEngine.h" #import "KMBinaryFileFormat.h" -#import "WindowsVKCodes.h" +#import "km_vkey.h" #import "MacVKCodes.h" #import "CoreWrapper.h" #import "KMELogs.h" diff --git a/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/OnScreenKeyboard/OSKView.m b/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/OnScreenKeyboard/OSKView.m index e576d000b8c..f133609a869 100644 --- a/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/OnScreenKeyboard/OSKView.m +++ b/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/OnScreenKeyboard/OSKView.m @@ -10,7 +10,7 @@ #import "OSKKey.h" #import "KeyView.h" #import "MacVKCodes.h" -#import "WindowsVKCodes.h" +#import "km_vkey.h" #import "NKey.h" #import "CoreHelper.h" diff --git a/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/WindowsVKCodes.h b/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/WindowsVKCodes.h deleted file mode 100644 index 2fc5ba7f797..00000000000 --- a/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/WindowsVKCodes.h +++ /dev/null @@ -1,86 +0,0 @@ -// -// WindowsVKCodes.h -// KeymanEngine4Mac -// -// Created by Serkan Kurt on 2/12/2014. -// Copyright (c) 2017 SIL International. All rights reserved. -// - -#ifndef WindowsVKCodes_h -#define WindowsVKCodes_h - -#define VK_BACKSPACE 0x08 -#define VK_TAB 0x09 -#define VK_ENTER 0x0D -#define VK_SPACE 0x20 - -#define VK_KEY_0 0x30 -#define VK_KEY_1 0x31 -#define VK_KEY_2 0x32 -#define VK_KEY_3 0x33 -#define VK_KEY_4 0x34 -#define VK_KEY_5 0x35 -#define VK_KEY_6 0x36 -#define VK_KEY_7 0x37 -#define VK_KEY_8 0x38 -#define VK_KEY_9 0x39 -#define VK_KEY_A 0x41 -#define VK_KEY_B 0x42 -#define VK_KEY_C 0x43 -#define VK_KEY_D 0x44 -#define VK_KEY_E 0x45 -#define VK_KEY_F 0x46 -#define VK_KEY_G 0x47 -#define VK_KEY_H 0x48 -#define VK_KEY_I 0x49 -#define VK_KEY_J 0x4A -#define VK_KEY_K 0x4B -#define VK_KEY_L 0x4C -#define VK_KEY_M 0x4D -#define VK_KEY_N 0x4E -#define VK_KEY_O 0x4F -#define VK_KEY_P 0x50 -#define VK_KEY_Q 0x51 -#define VK_KEY_R 0x52 -#define VK_KEY_S 0x53 -#define VK_KEY_T 0x54 -#define VK_KEY_U 0x55 -#define VK_KEY_V 0x56 -#define VK_KEY_W 0x57 -#define VK_KEY_X 0x58 -#define VK_KEY_Y 0x59 -#define VK_KEY_Z 0x5A - -#define VK_NUMPAD0 0x60 -#define VK_NUMPAD1 0x61 -#define VK_NUMPAD2 0x62 -#define VK_NUMPAD3 0x63 -#define VK_NUMPAD4 0x64 -#define VK_NUMPAD5 0x65 -#define VK_NUMPAD6 0x66 -#define VK_NUMPAD7 0x67 -#define VK_NUMPAD8 0x68 -#define VK_NUMPAD9 0x69 - -#define VK_NUMPAD_MULTIPLY 0x6A -#define VK_NUMPAD_ADD 0x6B -#define VK_NUMPAD_SUBTRACT 0x6D -#define VK_NUMPAD_DECIMAL 0x6E -#define VK_NUMPAD_DIVIDE 0x6F -#define VK_NUMLOCK 0x90 - -#define VK_COMMA 0xBC -#define VK_MINUS 0xBD -#define VK_PERIOD 0xBE -#define VK_EQUAL 0xBB -#define VK_SEMICOLON 0xBA -#define VK_SLASH 0xBF -#define VK_GRAVE 0xC0 -#define VK_LEFT_BRACKET 0xDB -#define VK_BACKSLASH 0xDC -#define VK_RIGHT_BRACKET 0xDD -#define VK_QUOTE 0xDE - -#define VK_OEM_102 0xE2 - -#endif /* WindowsVKCodes_h */ From ba628b598cd9eaf80a128d4119d6ff3eda3279fa Mon Sep 17 00:00:00 2001 From: sabine_schmitt Date: Fri, 4 Sep 2026 16:01:20 +0200 Subject: [PATCH 3/3] chore(mac): remove WindowsVKCodes.h --- mac/Keyman4Mac/Keyman4Mac/WindowsVKCodes.h | 79 ---------------------- 1 file changed, 79 deletions(-) delete mode 100644 mac/Keyman4Mac/Keyman4Mac/WindowsVKCodes.h diff --git a/mac/Keyman4Mac/Keyman4Mac/WindowsVKCodes.h b/mac/Keyman4Mac/Keyman4Mac/WindowsVKCodes.h deleted file mode 100644 index b7a15b2ca94..00000000000 --- a/mac/Keyman4Mac/Keyman4Mac/WindowsVKCodes.h +++ /dev/null @@ -1,79 +0,0 @@ -// -// WindowsVKCodes.h -// Keyman4Mac -// -// Created by Serkan Kurt on 2/12/2014. -// Copyright (c) 2017 SIL International. All rights reserved. -// - -#define VK_BACKSPACE 0x08 -#define VK_TAB 0x09 -#define VK_ENTER 0x0D -#define VK_SPACE 0x20 - -#define VK_KEY_0 0x30 -#define VK_KEY_1 0x31 -#define VK_KEY_2 0x32 -#define VK_KEY_3 0x33 -#define VK_KEY_4 0x34 -#define VK_KEY_5 0x35 -#define VK_KEY_6 0x36 -#define VK_KEY_7 0x37 -#define VK_KEY_8 0x38 -#define VK_KEY_9 0x39 -#define VK_KEY_A 0x41 -#define VK_KEY_B 0x42 -#define VK_KEY_C 0x43 -#define VK_KEY_D 0x44 -#define VK_KEY_E 0x45 -#define VK_KEY_F 0x46 -#define VK_KEY_G 0x47 -#define VK_KEY_H 0x48 -#define VK_KEY_I 0x49 -#define VK_KEY_J 0x4A -#define VK_KEY_K 0x4B -#define VK_KEY_L 0x4C -#define VK_KEY_M 0x4D -#define VK_KEY_N 0x4E -#define VK_KEY_O 0x4F -#define VK_KEY_P 0x50 -#define VK_KEY_Q 0x51 -#define VK_KEY_R 0x52 -#define VK_KEY_S 0x53 -#define VK_KEY_T 0x54 -#define VK_KEY_U 0x55 -#define VK_KEY_V 0x56 -#define VK_KEY_W 0x57 -#define VK_KEY_X 0x58 -#define VK_KEY_Y 0x59 -#define VK_KEY_Z 0x5A - -#define VK_NUMPAD0 0x60 -#define VK_NUMPAD1 0x61 -#define VK_NUMPAD2 0x62 -#define VK_NUMPAD3 0x63 -#define VK_NUMPAD4 0x64 -#define VK_NUMPAD5 0x65 -#define VK_NUMPAD6 0x66 -#define VK_NUMPAD7 0x67 -#define VK_NUMPAD8 0x68 -#define VK_NUMPAD9 0x69 - -#define VK_NUMPAD_MULTIPLY 0x6A -#define VK_NUMPAD_ADD 0x6B -#define VK_NUMPAD_SUBTRACT 0x6D -#define VK_NUMPAD_DECIMAL 0x6E -#define VK_NUMPAD_DIVIDE 0x6F -#define VK_NUMLOCK 0x90 - -#define VK_COMMA 0xBC -#define VK_MINUS 0xBD -#define VK_PERIOD 0xBE -#define VK_EQUAL 0xBB -#define VK_SEMICOLON 0xBA -#define VK_SLASH 0xBF -#define VK_GRAVE 0xC0 -#define VK_LEFT_BRACKET 0xDB -#define VK_BACKSLASH 0xDC -#define VK_RIGHT_BRACKET 0xDD -#define VK_QUOTE 0xDE