From ffcd3ae89eb42f69fc80a5423096122955112929 Mon Sep 17 00:00:00 2001 From: Randy Boring Date: Thu, 17 Jan 2019 18:55:29 -0600 Subject: [PATCH 01/22] manual move of mac-about-stuck branch that was accidentally rebased onto master which is alpha, not beta --- mac/Keyman4MacIM/Keyman4MacIM.xcodeproj/project.pbxproj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mac/Keyman4MacIM/Keyman4MacIM.xcodeproj/project.pbxproj b/mac/Keyman4MacIM/Keyman4MacIM.xcodeproj/project.pbxproj index 9c5f024f33..ca85e3cf60 100644 --- a/mac/Keyman4MacIM/Keyman4MacIM.xcodeproj/project.pbxproj +++ b/mac/Keyman4MacIM/Keyman4MacIM.xcodeproj/project.pbxproj @@ -874,7 +874,7 @@ ); HEADER_SEARCH_PATHS = ( "$(inherited)", - "{$PROJECT_DIR}/Keyman4MacIM", + "$(PROJECT_DIR)/Keyman4MacIM", ); INFOPLIST_FILE = Keyman4MacIM/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; @@ -904,7 +904,7 @@ ); HEADER_SEARCH_PATHS = ( "$(inherited)", - "{$PROJECT_DIR}/Keyman4MacIM", + "$(PROJECT_DIR)/Keyman4MacIM", ); INFOPLIST_FILE = Keyman4MacIM/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; From 77c876e2897cf4c9cfe205a6768f9fc305df202e Mon Sep 17 00:00:00 2001 From: Randy Boring Date: Thu, 17 Jan 2019 18:56:32 -0600 Subject: [PATCH 02/22] manual move of fix for #1529 --- .../KMAboutWindow/KMAboutWindowController.m | 3 + .../KMAboutWindow/KMAboutWindowController.xib | 57 ++++++++++--------- 2 files changed, 33 insertions(+), 27 deletions(-) diff --git a/mac/Keyman4MacIM/Keyman4MacIM/KMAboutWindow/KMAboutWindowController.m b/mac/Keyman4MacIM/Keyman4MacIM/KMAboutWindow/KMAboutWindowController.m index 14491e3908..17d12378f4 100644 --- a/mac/Keyman4MacIM/Keyman4MacIM/KMAboutWindow/KMAboutWindowController.m +++ b/mac/Keyman4MacIM/Keyman4MacIM/KMAboutWindow/KMAboutWindowController.m @@ -13,6 +13,9 @@ @property (nonatomic, weak) IBOutlet NSTextField *versionLabel; @property (nonatomic, weak) IBOutlet NSTextField *copyrightLabel; @property (nonatomic, weak) IBOutlet NSButton *licenseButton; +// not needed at the moment but might be: +@property (nonatomic, weak) IBOutlet NSButton *closeButton; +@property (nonatomic, weak) IBOutlet NSButton *configureButton; @end @implementation KMAboutWindowController diff --git a/mac/Keyman4MacIM/Keyman4MacIM/KMAboutWindow/KMAboutWindowController.xib b/mac/Keyman4MacIM/Keyman4MacIM/KMAboutWindow/KMAboutWindowController.xib index bfc57e988e..aa06bf959b 100644 --- a/mac/Keyman4MacIM/Keyman4MacIM/KMAboutWindow/KMAboutWindowController.xib +++ b/mac/Keyman4MacIM/Keyman4MacIM/KMAboutWindow/KMAboutWindowController.xib @@ -1,8 +1,8 @@ - + - + @@ -16,7 +16,7 @@ - + @@ -41,35 +41,22 @@ - - - + + - + - - - + + + - + @@ -78,29 +65,31 @@ From 75672cd3f1fdaf03cb6587d897e4ea8566fafabe Mon Sep 17 00:00:00 2001 From: Randy Boring Date: Thu, 17 Jan 2019 21:28:08 -0600 Subject: [PATCH 03/22] fixes #1529 about box had no controls visible and would not go away mostly nib changes, take away borders and add colors --- .../Keyman4MacIM.xcodeproj/project.pbxproj | 8 ++++-- .../xcshareddata/xcschemes/Keyman.xcscheme | 2 +- .../KMAboutWindow/KMAboutWindowController.xib | 28 +++++++++---------- 3 files changed, 20 insertions(+), 18 deletions(-) diff --git a/mac/Keyman4MacIM/Keyman4MacIM.xcodeproj/project.pbxproj b/mac/Keyman4MacIM/Keyman4MacIM.xcodeproj/project.pbxproj index ca85e3cf60..9943f1a52d 100644 --- a/mac/Keyman4MacIM/Keyman4MacIM.xcodeproj/project.pbxproj +++ b/mac/Keyman4MacIM/Keyman4MacIM.xcodeproj/project.pbxproj @@ -75,7 +75,6 @@ E28914D92028A78C0048E71E /* OCMock.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = E28914D82028A78C0048E71E /* OCMock.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; E29F22F4201A59B1005EA234 /* KMInputMethodBrowserClientEventHandlerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E29F22F3201A59B1005EA234 /* KMInputMethodBrowserClientEventHandlerTests.m */; }; E2D5529D20DD8E0200D77CFB /* LegacyTestClient.m in Sources */ = {isa = PBXBuildFile; fileRef = E2D5529C20DD8E0200D77CFB /* LegacyTestClient.m */; }; - E2EE23972142E2AD00EAA98C /* logo.png in Resources */ = {isa = PBXBuildFile; fileRef = E2EE23962142E2AC00EAA98C /* logo.png */; }; E61216E78B7F03FE755687F1 /* libPods-KeymanTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 9E7FB3417C46A01721AD32D0 /* libPods-KeymanTests.a */; }; /* End PBXBuildFile section */ @@ -561,7 +560,7 @@ 989C9C001A7876DE00A20425 /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0920; + LastUpgradeCheck = 1010; ORGANIZATIONNAME = "SIL International"; TargetAttributes = { 989C9C071A7876DE00A20425 = { @@ -617,7 +616,6 @@ 98FE10641B4DEE5600525F54 /* KMInfoWindowController.xib in Resources */, E213601E2142D7C000A043B7 /* keyman-88.png in Resources */, 98BF92471BF01D890002126A /* image.jpg in Resources */, - E2EE23972142E2AD00EAA98C /* logo.png in Resources */, 98BF92451BF01CBE0002126A /* KMAboutWindowController.xib in Resources */, 98F3C8941A8D739500F675E3 /* preferences.xib in Resources */, 9800EC5A1C02940300BF0FB5 /* keyman-for-mac-os-license.html in Resources */, @@ -773,12 +771,14 @@ CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; @@ -824,12 +824,14 @@ CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; diff --git a/mac/Keyman4MacIM/Keyman4MacIM.xcodeproj/xcshareddata/xcschemes/Keyman.xcscheme b/mac/Keyman4MacIM/Keyman4MacIM.xcodeproj/xcshareddata/xcschemes/Keyman.xcscheme index c5b862367d..37fe258ce2 100644 --- a/mac/Keyman4MacIM/Keyman4MacIM.xcodeproj/xcshareddata/xcschemes/Keyman.xcscheme +++ b/mac/Keyman4MacIM/Keyman4MacIM.xcodeproj/xcshareddata/xcschemes/Keyman.xcscheme @@ -1,6 +1,6 @@ - + - + @@ -52,7 +52,7 @@ - + @@ -101,10 +101,10 @@ - - + - - + + + - - - - + + + + - + - From ea57792a520eb00371e96b15a1004d083ce96415 Mon Sep 17 00:00:00 2001 From: darcywong00 Date: Fri, 15 Feb 2019 02:22:21 -0600 Subject: [PATCH 04/22] Add sanity check on .kmx name --- linux/keyman-config/keyman_config/install_kmp.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/linux/keyman-config/keyman_config/install_kmp.py b/linux/keyman-config/keyman_config/install_kmp.py index 9d02050eb0..5f87ec8d15 100755 --- a/linux/keyman-config/keyman_config/install_kmp.py +++ b/linux/keyman-config/keyman_config/install_kmp.py @@ -4,6 +4,7 @@ import argparse import json import logging import os.path +import re import subprocess import sys import tempfile @@ -234,6 +235,13 @@ def install_kmp_user(inputfile, online=False): elif ftype == KMFileTypes.KM_SOURCE: #TODO for the moment just leave it for ibus-kmfl to ignore if it doesn't load pass + elif ftype == KMFileTypes.KM_KMX: + # Sanity check case-sensitivity of keyboard file + kmx_id = re.sub('.kmx', '', f['name']) + for index, kb in enumerate(keyboards): + if kmx_id.lower() == kb['id'] and kmx_id != kb['id']: + keyboards[index]['file'] = f['name'] + install_keyboards_to_ibus(keyboards, packageDir) else: logging.error("install_kmp.py: error: No kmp.json or kmp.inf found in %s", inputfile) @@ -249,7 +257,10 @@ def install_keyboards_to_ibus(keyboards, packageDir): if bus: # install all kmx for first lang not just packageID for kb in keyboards: - kmx_file = os.path.join(packageDir, kb['id'] + ".kmx") + if kb['file']: + kmx_file = os.path.join(packageDir, kb['file']) + else: + kmx_file = os.path.join(packageDir, kb['id'] + ".kmx") if "languages" in kb and len(kb["languages"]) > 0: logging.debug(kb["languages"][0]) keyboard_id = "%s:%s" % (kb["languages"][0]['id'], kmx_file) From b13e4b135adf97e3480352767f3b9c47087a5f41 Mon Sep 17 00:00:00 2001 From: darcywong00 Date: Sun, 17 Feb 2019 03:15:15 -0600 Subject: [PATCH 05/22] Sanitize packageID and keyboard filename As needed, lower-case the packageID and .kmx filename. --- .../keyman-config/keyman_config/install_kmp.py | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/linux/keyman-config/keyman_config/install_kmp.py b/linux/keyman-config/keyman_config/install_kmp.py index 5f87ec8d15..c7d9b85c43 100755 --- a/linux/keyman-config/keyman_config/install_kmp.py +++ b/linux/keyman-config/keyman_config/install_kmp.py @@ -116,6 +116,10 @@ def check_keyman_dir(basedir, error_message): raise InstallError(InstallStatus.Abort, error_message) os.mkdir(keyman_dir) +def extract_package_id(inputfile): + packageID, ext = os.path.splitext(os.path.basename(inputfile)) + return packageID.lower(), ext + def install_kmp_shared(inputfile, online=False): """ Install a kmp file to /usr/local/share/keyman @@ -128,7 +132,7 @@ def install_kmp_shared(inputfile, online=False): check_keyman_dir('/usr/local/share/doc', "You do not have permissions to install the documentation to the shared documentation area /usr/local/share/doc/keyman") check_keyman_dir('/usr/local/share/fonts', "You do not have permissions to install the font files to the shared font area /usr/local/share/fonts") - packageID, ext = os.path.splitext(os.path.basename(inputfile)) + packageID, ext = extract_package_id(inputfile) packageDir = os.path.join('/usr/local/share/keyman', packageID) kmpdocdir = os.path.join('/usr/local/share/doc/keyman', packageID) kmpfontdir = os.path.join('/usr/local/share/fonts/keyman', packageID) @@ -192,7 +196,7 @@ def install_kmp_shared(inputfile, online=False): raise InstallError(InstallStatus.Abort, message) def install_kmp_user(inputfile, online=False): - packageID, ext = os.path.splitext(os.path.basename(inputfile)) + packageID, ext = extract_package_id(inputfile) packageDir=user_keyboard_dir(packageID) if not os.path.isdir(packageDir): os.makedirs(packageDir) @@ -236,11 +240,11 @@ def install_kmp_user(inputfile, online=False): #TODO for the moment just leave it for ibus-kmfl to ignore if it doesn't load pass elif ftype == KMFileTypes.KM_KMX: - # Sanity check case-sensitivity of keyboard file + # Sanitize keyboard filename if not lower case kmx_id = re.sub('.kmx', '', f['name']) for index, kb in enumerate(keyboards): if kmx_id.lower() == kb['id'] and kmx_id != kb['id']: - keyboards[index]['file'] = f['name'] + os.rename(os.path.join(packageDir, f['name']), os.path.join(packageDir, kb['id']+'.kmx')) install_keyboards_to_ibus(keyboards, packageDir) else: @@ -257,10 +261,7 @@ def install_keyboards_to_ibus(keyboards, packageDir): if bus: # install all kmx for first lang not just packageID for kb in keyboards: - if kb['file']: - kmx_file = os.path.join(packageDir, kb['file']) - else: - kmx_file = os.path.join(packageDir, kb['id'] + ".kmx") + kmx_file = os.path.join(packageDir, kb['id'] + ".kmx") if "languages" in kb and len(kb["languages"]) > 0: logging.debug(kb["languages"][0]) keyboard_id = "%s:%s" % (kb["languages"][0]['id'], kmx_file) From 677f9546a3833fde19386a4112dcab49ab04422e Mon Sep 17 00:00:00 2001 From: darcywong00 Date: Sun, 17 Feb 2019 21:23:51 -0600 Subject: [PATCH 06/22] Sanitize the keyboard id for ibus --- linux/keyman-config/keyman_config/ibus_util.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/linux/keyman-config/keyman_config/ibus_util.py b/linux/keyman-config/keyman_config/ibus_util.py index 9108656367..611393b517 100644 --- a/linux/keyman-config/keyman_config/ibus_util.py +++ b/linux/keyman-config/keyman_config/ibus_util.py @@ -27,9 +27,10 @@ def install_to_ibus(bus, keyboard_id): # bus = IBus.Bus() logging.debug("installing to ibus") ibus_settings = Gio.Settings.new("org.freedesktop.ibus.general") - preload_engines = ibus_settings.get_strv("preload-engines") + preload_engines = ibus_settings.getr_strv("preload-engines") logging.debug(preload_engines) if keyboard_id not in preload_engines: + preload_engines.clear() preload_engines.append(keyboard_id) logging.debug(preload_engines) ibus_settings.set_strv("preload-engines", preload_engines) From d42130baba30df27b349128b723c0275f580032d Mon Sep 17 00:00:00 2001 From: Darcy Wong Date: Tue, 19 Feb 2019 06:13:53 +0700 Subject: [PATCH 07/22] Fix typo --- linux/keyman-config/keyman_config/ibus_util.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/linux/keyman-config/keyman_config/ibus_util.py b/linux/keyman-config/keyman_config/ibus_util.py index 611393b517..415587b38b 100644 --- a/linux/keyman-config/keyman_config/ibus_util.py +++ b/linux/keyman-config/keyman_config/ibus_util.py @@ -27,7 +27,7 @@ def install_to_ibus(bus, keyboard_id): # bus = IBus.Bus() logging.debug("installing to ibus") ibus_settings = Gio.Settings.new("org.freedesktop.ibus.general") - preload_engines = ibus_settings.getr_strv("preload-engines") + preload_engines = ibus_settings.get_strv("preload-engines") logging.debug(preload_engines) if keyboard_id not in preload_engines: preload_engines.clear() From aadcc110ce31a16816a9d453ffa7d0b0ee861ff7 Mon Sep 17 00:00:00 2001 From: Randy Boring Date: Mon, 18 Feb 2019 21:28:58 -0600 Subject: [PATCH 08/22] slight change made by Xcode when merely building --- mac/Keyman4MacIM/Keyman4MacIM.xcodeproj/project.pbxproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mac/Keyman4MacIM/Keyman4MacIM.xcodeproj/project.pbxproj b/mac/Keyman4MacIM/Keyman4MacIM.xcodeproj/project.pbxproj index 40f5e73700..e69cc3668d 100644 --- a/mac/Keyman4MacIM/Keyman4MacIM.xcodeproj/project.pbxproj +++ b/mac/Keyman4MacIM/Keyman4MacIM.xcodeproj/project.pbxproj @@ -522,8 +522,8 @@ isa = PBXNativeTarget; buildConfigurationList = 989C9C251A7876DE00A20425 /* Build configuration list for PBXNativeTarget "Keyman" */; buildPhases = ( - 9A5A4B1321F78E0100B31301 /* Assert version number same as git branch */, D2FF67BB6C749BA6861F5E25 /* [CP] Check Pods Manifest.lock */, + 9A5A4B1321F78E0100B31301 /* Assert version number same as git branch */, E2588F2E1F2644850061C9C4 /* Run Script */, 989C9C041A7876DE00A20425 /* Sources */, 989C9C051A7876DE00A20425 /* Frameworks */, From a99243946fe58d54dc3ab5585c29368f99b5e7ea Mon Sep 17 00:00:00 2001 From: Randy Boring Date: Thu, 17 Jan 2019 18:56:32 -0600 Subject: [PATCH 09/22] manual move of fix for #1529 --- .../KMAboutWindow/KMAboutWindowController.m | 3 + .../KMAboutWindow/KMAboutWindowController.xib | 57 ++++++++++--------- 2 files changed, 33 insertions(+), 27 deletions(-) diff --git a/mac/Keyman4MacIM/Keyman4MacIM/KMAboutWindow/KMAboutWindowController.m b/mac/Keyman4MacIM/Keyman4MacIM/KMAboutWindow/KMAboutWindowController.m index 45762ae55d..eec24f9478 100644 --- a/mac/Keyman4MacIM/Keyman4MacIM/KMAboutWindow/KMAboutWindowController.m +++ b/mac/Keyman4MacIM/Keyman4MacIM/KMAboutWindow/KMAboutWindowController.m @@ -14,6 +14,9 @@ @property (nonatomic, weak) IBOutlet NSTextField *versionLabel; @property (nonatomic, weak) IBOutlet NSTextField *copyrightLabel; @property (nonatomic, weak) IBOutlet NSButton *licenseButton; +// not needed at the moment but might be: +@property (nonatomic, weak) IBOutlet NSButton *closeButton; +@property (nonatomic, weak) IBOutlet NSButton *configureButton; @end @implementation KMAboutWindowController diff --git a/mac/Keyman4MacIM/Keyman4MacIM/KMAboutWindow/KMAboutWindowController.xib b/mac/Keyman4MacIM/Keyman4MacIM/KMAboutWindow/KMAboutWindowController.xib index bfc57e988e..aa06bf959b 100644 --- a/mac/Keyman4MacIM/Keyman4MacIM/KMAboutWindow/KMAboutWindowController.xib +++ b/mac/Keyman4MacIM/Keyman4MacIM/KMAboutWindow/KMAboutWindowController.xib @@ -1,8 +1,8 @@ - + - + @@ -16,7 +16,7 @@ - + @@ -41,35 +41,22 @@ - - - + + - + - - - + + + - + @@ -78,29 +65,31 @@ From 136758cef7add60120a9218b8a81ba8e9f3c1171 Mon Sep 17 00:00:00 2001 From: Randy Boring Date: Thu, 17 Jan 2019 21:28:08 -0600 Subject: [PATCH 10/22] fixes #1529 about box had no controls visible and would not go away mostly nib changes, take away borders and add colors --- .../KMAboutWindow/KMAboutWindowController.xib | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/mac/Keyman4MacIM/Keyman4MacIM/KMAboutWindow/KMAboutWindowController.xib b/mac/Keyman4MacIM/Keyman4MacIM/KMAboutWindow/KMAboutWindowController.xib index aa06bf959b..a37616d11c 100644 --- a/mac/Keyman4MacIM/Keyman4MacIM/KMAboutWindow/KMAboutWindowController.xib +++ b/mac/Keyman4MacIM/Keyman4MacIM/KMAboutWindow/KMAboutWindowController.xib @@ -41,10 +41,10 @@ - + - + @@ -52,7 +52,7 @@ - + @@ -101,10 +101,10 @@ - - + - - + + + - - - - + + + + - + - From c30a3eb644b8091319ab29c7e5daf03e7605cd6c Mon Sep 17 00:00:00 2001 From: Randy Boring Date: Mon, 18 Feb 2019 22:15:35 -0600 Subject: [PATCH 11/22] remove "All rights reserved." as it takes up room without meaning much. --- mac/Keyman4MacIM/Keyman4MacIM/Info.plist | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mac/Keyman4MacIM/Keyman4MacIM/Info.plist b/mac/Keyman4MacIM/Keyman4MacIM/Info.plist index 70f45ce08e..4a41c7574f 100644 --- a/mac/Keyman4MacIM/Keyman4MacIM/Info.plist +++ b/mac/Keyman4MacIM/Keyman4MacIM/Info.plist @@ -79,7 +79,7 @@ LSMinimumSystemVersion $(MACOSX_DEPLOYMENT_TARGET) NSHumanReadableCopyright - $(COPYRIGHT_STRING_RIGHTS) + $(COPYRIGHT_STRING) NSMainNibFile MainMenu NSPrincipalClass From da94befcfb8fe6235982f5b575bb06f8def93222 Mon Sep 17 00:00:00 2001 From: Darcy Wong Date: Wed, 20 Feb 2019 09:00:23 +0700 Subject: [PATCH 12/22] Update launchpad to watch stable tier In preparation for Keyman for Linux 11 stable release --- linux/scripts/launchpad.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/linux/scripts/launchpad.sh b/linux/scripts/launchpad.sh index 815d8975b1..206e3d9e63 100755 --- a/linux/scripts/launchpad.sh +++ b/linux/scripts/launchpad.sh @@ -23,8 +23,9 @@ if [[ -z "${TIER}" ]]; then # This is the tier that the latest version is currently found on # This should be changed to stable before the first stable build # In master branch this should be alpha and the debian/watch files should check alpha dir - tier="beta" -# tier="stable" +# tier="alpha" +# tier="beta" + tier="stable" else tier="${TIER}" fi From 6af594a3441b5c782981203b924d3efe9b441d93 Mon Sep 17 00:00:00 2001 From: darcywong00 Date: Wed, 20 Feb 2019 07:41:22 -0600 Subject: [PATCH 13/22] Address review comments --- linux/keyman-config/keyman_config/ibus_util.py | 1 - linux/keyman-config/keyman_config/install_kmp.py | 11 +++++------ 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/linux/keyman-config/keyman_config/ibus_util.py b/linux/keyman-config/keyman_config/ibus_util.py index 415587b38b..9108656367 100644 --- a/linux/keyman-config/keyman_config/ibus_util.py +++ b/linux/keyman-config/keyman_config/ibus_util.py @@ -30,7 +30,6 @@ def install_to_ibus(bus, keyboard_id): preload_engines = ibus_settings.get_strv("preload-engines") logging.debug(preload_engines) if keyboard_id not in preload_engines: - preload_engines.clear() preload_engines.append(keyboard_id) logging.debug(preload_engines) ibus_settings.set_strv("preload-engines", preload_engines) diff --git a/linux/keyman-config/keyman_config/install_kmp.py b/linux/keyman-config/keyman_config/install_kmp.py index c7d9b85c43..1ed0dada7a 100755 --- a/linux/keyman-config/keyman_config/install_kmp.py +++ b/linux/keyman-config/keyman_config/install_kmp.py @@ -4,7 +4,6 @@ import argparse import json import logging import os.path -import re import subprocess import sys import tempfile @@ -118,7 +117,7 @@ def check_keyman_dir(basedir, error_message): def extract_package_id(inputfile): packageID, ext = os.path.splitext(os.path.basename(inputfile)) - return packageID.lower(), ext + return packageID.lower() def install_kmp_shared(inputfile, online=False): """ @@ -132,7 +131,7 @@ def install_kmp_shared(inputfile, online=False): check_keyman_dir('/usr/local/share/doc', "You do not have permissions to install the documentation to the shared documentation area /usr/local/share/doc/keyman") check_keyman_dir('/usr/local/share/fonts', "You do not have permissions to install the font files to the shared font area /usr/local/share/fonts") - packageID, ext = extract_package_id(inputfile) + packageID = extract_package_id(inputfile) packageDir = os.path.join('/usr/local/share/keyman', packageID) kmpdocdir = os.path.join('/usr/local/share/doc/keyman', packageID) kmpfontdir = os.path.join('/usr/local/share/fonts/keyman', packageID) @@ -196,7 +195,7 @@ def install_kmp_shared(inputfile, online=False): raise InstallError(InstallStatus.Abort, message) def install_kmp_user(inputfile, online=False): - packageID, ext = extract_package_id(inputfile) + packageID = extract_package_id(inputfile) packageDir=user_keyboard_dir(packageID) if not os.path.isdir(packageDir): os.makedirs(packageDir) @@ -241,8 +240,8 @@ def install_kmp_user(inputfile, online=False): pass elif ftype == KMFileTypes.KM_KMX: # Sanitize keyboard filename if not lower case - kmx_id = re.sub('.kmx', '', f['name']) - for index, kb in enumerate(keyboards): + kmx_id, ext = os.path.splitext(os.path.basename(f['name'])) + for kb in keyboards: if kmx_id.lower() == kb['id'] and kmx_id != kb['id']: os.rename(os.path.join(packageDir, f['name']), os.path.join(packageDir, kb['id']+'.kmx')) From 106ff4df350394c8e8db322ad1c9a946d8cf5444 Mon Sep 17 00:00:00 2001 From: Randy Boring Date: Wed, 20 Feb 2019 16:42:24 -0600 Subject: [PATCH 14/22] licence link is blue, version and copyright text is black, buttons are black buttons are still not outlined --- .../KMAboutWindow/KMAboutWindowController.xib | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/mac/Keyman4MacIM/Keyman4MacIM/KMAboutWindow/KMAboutWindowController.xib b/mac/Keyman4MacIM/Keyman4MacIM/KMAboutWindow/KMAboutWindowController.xib index a37616d11c..d358daf35c 100644 --- a/mac/Keyman4MacIM/Keyman4MacIM/KMAboutWindow/KMAboutWindowController.xib +++ b/mac/Keyman4MacIM/Keyman4MacIM/KMAboutWindow/KMAboutWindowController.xib @@ -42,13 +42,13 @@ - + - + @@ -56,8 +56,8 @@ - - + + @@ -74,7 +74,7 @@ - + @@ -89,7 +89,7 @@ - + @@ -110,7 +110,7 @@ - + @@ -127,15 +127,15 @@ - + - - + + @@ -147,7 +147,7 @@ - + From c98667a6027c3366fef4e764460895c40c868231 Mon Sep 17 00:00:00 2001 From: darcywong00 Date: Wed, 20 Feb 2019 20:04:54 -0600 Subject: [PATCH 15/22] Check .kmx names in install_kmp_shared Also update history.md --- linux/history.md | 9 +++++++++ linux/keyman-config/keyman_config/ibus_util.py | 1 + linux/keyman-config/keyman_config/install_kmp.py | 9 ++++++++- 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/linux/history.md b/linux/history.md index db4c44a28e..1de3868866 100644 --- a/linux/history.md +++ b/linux/history.md @@ -1,5 +1,14 @@ # Keyman for Linux Version History +## 2019-02-22 11.0.111 beta +* use lowercase ID and kmx filenames when installing .kmp packages (#1601) + +## 2019-02-20 11.0.110 beta +* update readme about launchpad (#1574) + +## 2019-02-18 11.0.109 beta +* add appstream appdata file for km-config (#1543) + ## 2019-02-15 11.0.108 beta * handle keyboard package install/uninstall when languages aren't defined (#1585) diff --git a/linux/keyman-config/keyman_config/ibus_util.py b/linux/keyman-config/keyman_config/ibus_util.py index 9108656367..afa9acc9fa 100644 --- a/linux/keyman-config/keyman_config/ibus_util.py +++ b/linux/keyman-config/keyman_config/ibus_util.py @@ -30,6 +30,7 @@ def install_to_ibus(bus, keyboard_id): preload_engines = ibus_settings.get_strv("preload-engines") logging.debug(preload_engines) if keyboard_id not in preload_engines: + # TODO: in the event preload_engines contains upper-case keyboards, we'll need to uninstall_from_ibus #1601 preload_engines.append(keyboard_id) logging.debug(preload_engines) ibus_settings.set_strv("preload-engines", preload_engines) diff --git a/linux/keyman-config/keyman_config/install_kmp.py b/linux/keyman-config/keyman_config/install_kmp.py index 1ed0dada7a..5e9169fa5f 100755 --- a/linux/keyman-config/keyman_config/install_kmp.py +++ b/linux/keyman-config/keyman_config/install_kmp.py @@ -177,10 +177,17 @@ def install_kmp_shared(inputfile, online=False): name, ext = os.path.splitext(f['name']) ldmlfile = os.path.join(packageDir, name+".ldml") output_ldml(ldmlfile, ldml) - # Special handling of icon to convert to PNG elif ftype == KMFileTypes.KM_ICON: + # Special handling of icon to convert to PNG logging.info("Converting %s to PNG and installing both as keyman files", f['name']) checkandsaveico(fpath) + elif ftype == KMFileTypes.KM_KMX: + # Sanitize keyboard filename if not lower case + kmx_id, ext = os.path.splitext(os.path.basename(f['name'])) + for kb in keyboards: + if kmx_id.lower() == kb['id'] and kmx_id != kb['id']: + os.rename(os.path.join(packageDir, f['name']), os.path.join(packageDir, kb['id']+'.kmx')) + for kb in keyboards: # install all kmx for first lang not just packageID kmx_file = os.path.join(packageDir, kb['id'] + ".kmx") From bce5269b5a6cf7839234c6cc35d80117d125131f Mon Sep 17 00:00:00 2001 From: darcywong00 Date: Wed, 20 Feb 2019 20:08:21 -0600 Subject: [PATCH 16/22] Resolve merge conflict in history.md --- linux/history.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/linux/history.md b/linux/history.md index 1de3868866..98644b5f2b 100644 --- a/linux/history.md +++ b/linux/history.md @@ -6,8 +6,8 @@ ## 2019-02-20 11.0.110 beta * update readme about launchpad (#1574) -## 2019-02-18 11.0.109 beta -* add appstream appdata file for km-config (#1543) +## 2019-02-18 11.0.109 beta +* add appstream appdata file for keyman-config (#1543) ## 2019-02-15 11.0.108 beta * handle keyboard package install/uninstall when languages aren't defined (#1585) From 81094918fb2577c8239336dc4ecf442bf23e231f Mon Sep 17 00:00:00 2001 From: darcywong00 Date: Wed, 20 Feb 2019 20:09:33 -0600 Subject: [PATCH 17/22] Second attempt for history.md --- linux/history.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/linux/history.md b/linux/history.md index 98644b5f2b..a4980285d3 100644 --- a/linux/history.md +++ b/linux/history.md @@ -7,7 +7,7 @@ * update readme about launchpad (#1574) ## 2019-02-18 11.0.109 beta -* add appstream appdata file for keyman-config (#1543) +* create appstream appdata for keyman-config (#1543) ## 2019-02-15 11.0.108 beta * handle keyboard package install/uninstall when languages aren't defined (#1585) From a0eba1e56b87a3021c7f5443a71cb4aac4f050a5 Mon Sep 17 00:00:00 2001 From: Marc Durdin Date: Mon, 25 Feb 2019 14:05:55 +1100 Subject: [PATCH 18/22] [meta] history for final beta --- android/history.md | 3 +++ ios/history.md | 5 ++++- linux/history.md | 35 +++++++++++++++++++++++--------- mac/history.md | 5 +++++ web/history.md | 26 +++++++++++++++++------- windows/src/desktop/history.md | 14 ++++++++++++- windows/src/developer/history.md | 16 +++++++++++++-- 7 files changed, 83 insertions(+), 21 deletions(-) diff --git a/android/history.md b/android/history.md index 2b97a15b59..5751763d66 100644 --- a/android/history.md +++ b/android/history.md @@ -1,5 +1,8 @@ # Keyman for Android +## 2019-02-15 11.0.2062 beta +* No changes. + ## 2019-02-07 11.0.2061 beta * Bug fix: * Add notifications when keyboard or font fails to download from Keyman cloud (#1570) diff --git a/ios/history.md b/ios/history.md index fdf7a00274..7228cb1c6d 100644 --- a/ios/history.md +++ b/ios/history.md @@ -1,6 +1,9 @@ # Keyman for iPhone and iPad Version History -## 2019 01-04 11.0.302 beta +## 2019-02-25 11.0.302 beta +* Keyman now works again on iOS 9.3.5 (#1588) + +## 2019-01-04 11.0.301 beta * Improves loading efficiency of system keyboard, helping prevent related crashes (#1475) ## 2019-01-02 11.0.300 beta diff --git a/linux/history.md b/linux/history.md index a4980285d3..58ce3c11ed 100644 --- a/linux/history.md +++ b/linux/history.md @@ -1,27 +1,42 @@ # Keyman for Linux Version History ## 2019-02-22 11.0.111 beta -* use lowercase ID and kmx filenames when installing .kmp packages (#1601) +* Use lowercase ID and kmx filenames when installing .kmp packages (#1601) -## 2019-02-20 11.0.110 beta -* update readme about launchpad (#1574) +## 2019-02-19 11.0.110 beta +* Update readme about launchpad (#1574) ## 2019-02-18 11.0.109 beta -* create appstream appdata for keyman-config (#1543) +* Create appstream appdata for keyman-config (#1543) ## 2019-02-15 11.0.108 beta -* handle keyboard package install/uninstall when languages aren't defined (#1585) +* Handle keyboard package install/uninstall when languages aren't defined (#1585) ## 2019-02-08 11.0.107 beta -* add disco distribution information (#1572) +* Add disco distribution information (#1572) ## 2019-02-05 11.0.106 beta -* update readme about packaging and fix build.sh script (#1565) +* Update readme about packaging and fix build.sh script (#1565) +* Bugfix for potential utf overrun in Keyman Core (#1547) ## 2019-01-10 11.0.105 beta -* add icons for km-config and .kmp files (#1495) -* restart ibus as user and on gnome-shell (#1510,#1521) -* build on xenial (#1518,#1477) +* Restart ibus as user and on gnome-shell (#1510,#1521) +* Build on xenial (#1518,#1477) +* Remove debconf template not needed any more (#1497) + +## 2019-01-04 11.0.104 beta +* Add km-config and .kmp icons (#1495) + +## 2019-01-04 11.0.103 beta +* No changes. + +## 2019-01-04 11.0.102 beta +* Initial build of Keyman Core on xenial (#1477) +* Auto restart IBus when apt and kbp versioning (#1468) +* Fix majorversion which broke download window (#1490) + +## 2019-01-03 11.0.101 beta +* No changes. ## 2019-01-02 11.0.100 beta * Initial beta release of Keyman for Linux diff --git a/mac/history.md b/mac/history.md index 8294a5ee41..5f3d31c171 100644 --- a/mac/history.md +++ b/mac/history.md @@ -1,5 +1,10 @@ # Keyman for macOS Version History +## 2019-02-20 11.0.201 beta +* Update version strings to 11.0.0 (#1583) +* Workaround bug in macOS 10.13.1-10.13.3 which caused preferences dialog to fail to appear (#1447) +* Fix broken About dialog (#1594) + ## 2019-01-02 11.0.200 beta * Initial beta release of Keyman for macOS 11 * [Pull Requests](https://github.com/keymanapp/keyman/pulls?utf8=%E2%9C%93&q=is%3Apr+merged%3A2018-07-01..2019-01-01+label%3Amac+-label%3Acherry-pick+-label%3Astable) diff --git a/web/history.md b/web/history.md index 0445d9107f..1e1289d83a 100644 --- a/web/history.md +++ b/web/history.md @@ -1,15 +1,27 @@ # KeymanWeb Version History +## 2019-02-25 11.0.208 beta +* KeymanWeb now works again in Safari on iOS 9.3.5 (#1588) + +## 2019-01-18 11.0.206 beta +* Change: Update beta version and remove hardcoded version strings (#1537) + +## 2019-01-17 11.0.205 beta +* New Feature: The `displayUnderlying` flag for showing base layout key caps is now available per-platform. (#1539) +* Bug Fix: Fix missing text on spacebar and update Karma version (#1540) + +## 2019-01-15 11.0.204 beta +* No changes + +## 2019-01-11 11.0.203 beta +* Add default mapping for K_oE2 (102nd key) (#1491) + ## 2019-01-04 11.0.202 beta -* Bug Fix: - * Fixed external keyboard keys "tab" and "backspace" for embedded platforms (#1474) +* Bug Fix: Fixed external keyboard keys "tab" and "backspace" for embedded platforms (#1474) ## 2019-01-03 11.0.201 beta -* New Feature: - * Adds the alignInputs() API function to facilitate touch-alias element work-arounds in case of future issues. (#69) - -* Bug Fix: - * Fixed keyboard layer transition bug on mobile devices. (#978) +* New Feature: Adds the alignInputs() API function to facilitate touch-alias element work-arounds in case of future issues. (#69) +* Bug Fix: Fixed keyboard layer transition bug on mobile devices. (#978) ## 2019-01-02 11.0.200 beta * Initial beta release of KeymanWeb 11 diff --git a/windows/src/desktop/history.md b/windows/src/desktop/history.md index 994adf3106..f1d02a1059 100644 --- a/windows/src/desktop/history.md +++ b/windows/src/desktop/history.md @@ -1,8 +1,20 @@ # Keyman Desktop Version History -## 2019-02-13 11.0.1308.0 beta +## 2019-02-21 11.0.1312.0 beta +* Bug Fix: Make sure backspace in Word (TSF) deletes both halves of surrogate pair for supplementary multilingual plane scripts (#1603) + +## 2019-02-20 11.0.1311.0 beta +* Minor tweaks to Kannada localization (#1598) + +## 2019-02-19 11.0.1310.0 beta +* No changes to Keyman Desktop + +## 2019-02-15 11.0.1309.0 beta * Bug Fix: Upgrading from 9.0 to 11.0 did not preserve keyboards and settings (#1548) +## 2019-02-14 11.0.1308.0 beta +* No changes to Keyman Desktop + ## 2019-02-01 11.0.1307.0 beta * No changes to Keyman Desktop diff --git a/windows/src/developer/history.md b/windows/src/developer/history.md index 85843313ee..dc7a5a022b 100644 --- a/windows/src/developer/history.md +++ b/windows/src/developer/history.md @@ -1,13 +1,25 @@ # Keyman Developer Version History -## 2019-02-14 11.0.1308.0 beta -* Change: Adds option to check filename conventions (#1549) +## 2019-02-21 11.0.1312.0 beta +* Bug fix: Connect buttons to actions in Distribution tab in Project (#1606) +* Bug fix: Fix crash saving new keyboard when missing files are referenced (#1605) +* Bug fix: Fix resizing of text editor windows (#1607) + +## 2019-02-20 11.0.1311.0 beta +* No changes to Keyman Developer + +## 2019-02-19 11.0.1310.0 beta * Bug fix: Developer does not focus the text editor automatically after load (#1582) + +## 2019-02-15 11.0.1309.0 beta * Bug fix: Developer was not maintaining project state between page loads (#1580) * Bug fix: Developer now maintains the view state when switching between Design and Code views of touch layout editor (#1579) * Bug fix: New Project Wizard wasn't adding metadata files to project (#1578) * Bug Fix: Package RTL keyboard metadata was being overwritten if .kmx was after .js in package file list (#1576) +## 2019-02-14 11.0.1308.0 beta +* Change: Adds option to check filename conventions (#1549) + ## 2019-02-01 11.0.1307.0 beta * Change: Removed unused test window (#1560) From eb92df40def1eb568738d6e0b3064e8b4a436463 Mon Sep 17 00:00:00 2001 From: Marc Durdin Date: Mon, 25 Feb 2019 14:08:56 +1100 Subject: [PATCH 19/22] [Windows] Fixes #1620. AltGr causes sticky Left Control when some Windows European layouts are installed. --- .../src/engine/keyman32/keyman-debug-etw.man | 2 + .../engine/keyman32/serialkeyeventserver.cpp | 97 ++++++++++++++++--- 2 files changed, 85 insertions(+), 14 deletions(-) diff --git a/windows/src/engine/keyman32/keyman-debug-etw.man b/windows/src/engine/keyman32/keyman-debug-etw.man index aea3d85447..e8c7331d3f 100644 --- a/windows/src/engine/keyman32/keyman-debug-etw.man +++ b/windows/src/engine/keyman32/keyman-debug-etw.man @@ -33,6 +33,7 @@ + @@ -210,6 +211,7 @@ + diff --git a/windows/src/engine/keyman32/serialkeyeventserver.cpp b/windows/src/engine/keyman32/serialkeyeventserver.cpp index ffc0195082..c1cf879137 100644 --- a/windows/src/engine/keyman32/serialkeyeventserver.cpp +++ b/windows/src/engine/keyman32/serialkeyeventserver.cpp @@ -415,23 +415,92 @@ private: */ if (msg == wm_keyman_keyevent && flag_ShouldSerializeInput /*&& _td->lpActiveKeyboard*/) { - INPUT input; - input.type = INPUT_KEYBOARD; - input.ki.wVk = (WORD)wParam; - input.ki.wScan = (lParam & 0xFF0000) >> 16; - input.ki.time = GetMessageTime(); - input.ki.dwExtraInfo = EXTRAINFO_FLAG_SERIALIZED_USER_KEY_EVENT; - input.ki.dwFlags = lParam & 0xFFFF; - if (!SendInput(1, &input, sizeof(INPUT))) { - DebugLastError("SendInput"); + if (wParam == VK_RMENU && (lParam & (KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP)) == (KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP) && GetKeyState(VK_LCONTROL) < 0) { + /* + When Windows has a European layout that uses AltGr installed, it can emit an additional LCtrl down via software + when RAlt is pressed. However, the corresponding LCtrl up is never received, seemingly because when Keyman + re-emits the LCtrl+RAlt, there are subtle differences in the event flags which we cannot duplicate -- specifically + the flag that emits WM_SYSKEYDOWN for the VK_LCONTROL, even though it is received before the VK_RALT event. It + appears that Windows figures this out by giving this VK_LCONTROL the scan code 0x21D instead of 0x1D. But we + are unable to emit that scan code: Windows truncates the scan code sent through SendInput so that we can only + send 0x1D. + + So we simulate the release of the Left Control key ourselves when the release of the Right Alt is received, + using VK_CONTROL and scan 0x1D, and hope for the best. + + The full Windows sequence is: + + WM_SYSKEYDOWN VK_CONTROL 0x21D + WM_SYSKEYDOWN VK_MENU 0x38 EXTENDED_BIT + ... + WM_KEYUP VK_CONTROL 0x21D + WM_KEYUP VK_MENU 0x38 EXTENDED_BIT + + The best Keyman can do is: + + WM_KEYDOWN VK_CONTROL 0x1D + WM_KEYDOWN VK_MENU 0x38 EXTENDED_BIT + ... + WM_KEYUP VK_CONTROL 0x1D + WM_KEYUP VK_MENU 0x38 EXTENDED_BIT + + There is a possibility that some apps may try and sniff that 0x21D scan code and get confused because Keyman + doesn't emit it. Hopefully this is rare. + */ + INPUT input[2]; + input[0].type = INPUT_KEYBOARD; + input[0].ki.wVk = VK_CONTROL; + input[0].ki.wScan = 0x21D; // Yeah, Windows chops this to 0x1D. Such is life. + input[0].ki.time = GetMessageTime(); + input[0].ki.dwExtraInfo = EXTRAINFO_FLAG_SERIALIZED_USER_KEY_EVENT; + input[0].ki.dwFlags = KEYEVENTF_KEYUP; + + input[1].type = INPUT_KEYBOARD; + input[1].ki.wVk = (WORD)wParam; + input[1].ki.wScan = (lParam & 0xFFF0000) >> 16; + input[1].ki.time = GetMessageTime(); + input[1].ki.dwExtraInfo = EXTRAINFO_FLAG_SERIALIZED_USER_KEY_EVENT; + input[1].ki.dwFlags = lParam & 0xFFFF; + + if (!SendInput(2, input, sizeof(INPUT))) { + DebugLastError("SendInput"); + } + + UpdateLocalModifierState( + (BYTE)input[0].ki.wVk, + input[0].ki.dwFlags & KEYEVENTF_EXTENDEDKEY ? TRUE : FALSE, + (BYTE)input[0].ki.wScan, + input[0].ki.dwFlags & KEYEVENTF_KEYUP ? TRUE : FALSE); + + UpdateLocalModifierState( + (BYTE)input[1].ki.wVk, + input[1].ki.dwFlags & KEYEVENTF_EXTENDEDKEY ? TRUE : FALSE, + (BYTE)input[1].ki.wScan, + input[1].ki.dwFlags & KEYEVENTF_KEYUP ? TRUE : FALSE); + } + else { + INPUT input; + input.type = INPUT_KEYBOARD; + input.ki.wVk = (WORD)wParam; + input.ki.wScan = (lParam & 0xFFF0000) >> 16; + input.ki.time = GetMessageTime(); + input.ki.dwExtraInfo = EXTRAINFO_FLAG_SERIALIZED_USER_KEY_EVENT; + input.ki.dwFlags = lParam & 0xFFFF; + + SendDebugMessageFormat(0, sdmGlobal, 0, "SerialEventKeyServer: sending key %x %x %x", input.ki.wVk, input.ki.wScan, input.ki.dwFlags); + + if (!SendInput(1, &input, sizeof(INPUT))) { + DebugLastError("SendInput"); + } + + UpdateLocalModifierState( + (BYTE)input.ki.wVk, + input.ki.dwFlags & KEYEVENTF_EXTENDEDKEY ? TRUE : FALSE, + (BYTE)input.ki.wScan, + input.ki.dwFlags & KEYEVENTF_KEYUP ? TRUE : FALSE); } - UpdateLocalModifierState( - (BYTE) input.ki.wVk, - input.ki.dwFlags & KEYEVENTF_EXTENDEDKEY ? TRUE : FALSE, - (BYTE) input.ki.wScan, - input.ki.dwFlags & KEYEVENTF_KEYUP ? TRUE : FALSE); } return DefWindowProc(hwnd, msg, wParam, lParam); From bfddf323bad37f009ec50e64513edbbb165296f3 Mon Sep 17 00:00:00 2001 From: Marc Durdin Date: Mon, 25 Feb 2019 14:15:13 +1100 Subject: [PATCH 20/22] [Windows] Remove debug code --- windows/src/engine/keyman32/serialkeyeventserver.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/windows/src/engine/keyman32/serialkeyeventserver.cpp b/windows/src/engine/keyman32/serialkeyeventserver.cpp index c1cf879137..a506950937 100644 --- a/windows/src/engine/keyman32/serialkeyeventserver.cpp +++ b/windows/src/engine/keyman32/serialkeyeventserver.cpp @@ -488,8 +488,6 @@ private: input.ki.dwExtraInfo = EXTRAINFO_FLAG_SERIALIZED_USER_KEY_EVENT; input.ki.dwFlags = lParam & 0xFFFF; - SendDebugMessageFormat(0, sdmGlobal, 0, "SerialEventKeyServer: sending key %x %x %x", input.ki.wVk, input.ki.wScan, input.ki.dwFlags); - if (!SendInput(1, &input, sizeof(INPUT))) { DebugLastError("SendInput"); } From fca0a0376c5f33e0d2d68898d3b2218e5218ce4d Mon Sep 17 00:00:00 2001 From: Marc Durdin Date: Mon, 25 Feb 2019 15:40:36 +1100 Subject: [PATCH 21/22] [meta] Add Windows latest history --- windows/src/desktop/history.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/windows/src/desktop/history.md b/windows/src/desktop/history.md index f1d02a1059..01dcbfe413 100644 --- a/windows/src/desktop/history.md +++ b/windows/src/desktop/history.md @@ -1,5 +1,8 @@ # Keyman Desktop Version History +## 2019-02-25 11.0.1313.0 beta +* Bug Fix: AltGr causes sticky Left Control when some Windows European layouts are installed. (#1621) + ## 2019-02-21 11.0.1312.0 beta * Bug Fix: Make sure backspace in Word (TSF) deletes both halves of surrogate pair for supplementary multilingual plane scripts (#1603) From 50dcc51543831a9a368922f76754179748f40765 Mon Sep 17 00:00:00 2001 From: Marc Durdin Date: Mon, 25 Feb 2019 15:44:24 +1100 Subject: [PATCH 22/22] [meta] 11.0 stable versions --- android/history.md | 3 +++ ios/history.md | 3 +++ linux/history.md | 3 +++ mac/history.md | 3 +++ web/history.md | 3 +++ windows/src/desktop/history.md | 3 +++ windows/src/developer/history.md | 6 ++++++ 7 files changed, 24 insertions(+) diff --git a/android/history.md b/android/history.md index 5751763d66..a0ddc1fc9c 100644 --- a/android/history.md +++ b/android/history.md @@ -1,5 +1,8 @@ # Keyman for Android +## 2019-02-25 11.0.2100 stable +* 11.0 Stable release + ## 2019-02-15 11.0.2062 beta * No changes. diff --git a/ios/history.md b/ios/history.md index 7228cb1c6d..1830121f0a 100644 --- a/ios/history.md +++ b/ios/history.md @@ -1,5 +1,8 @@ # Keyman for iPhone and iPad Version History +## 2019-02-25 11.0.320 stable +* 11.0 Stable release + ## 2019-02-25 11.0.302 beta * Keyman now works again on iOS 9.3.5 (#1588) diff --git a/linux/history.md b/linux/history.md index 58ce3c11ed..15546f33d6 100644 --- a/linux/history.md +++ b/linux/history.md @@ -1,5 +1,8 @@ # Keyman for Linux Version History +## 2019-02-25 11.0.120 stable +* 11.0 Stable release + ## 2019-02-22 11.0.111 beta * Use lowercase ID and kmx filenames when installing .kmp packages (#1601) diff --git a/mac/history.md b/mac/history.md index 5f3d31c171..03828de9b6 100644 --- a/mac/history.md +++ b/mac/history.md @@ -1,5 +1,8 @@ # Keyman for macOS Version History +## 2019-02-25 11.0.220 stable +* 11.0 Stable release + ## 2019-02-20 11.0.201 beta * Update version strings to 11.0.0 (#1583) * Workaround bug in macOS 10.13.1-10.13.3 which caused preferences dialog to fail to appear (#1447) diff --git a/web/history.md b/web/history.md index 1e1289d83a..44dfb22f0d 100644 --- a/web/history.md +++ b/web/history.md @@ -1,5 +1,8 @@ # KeymanWeb Version History +## 2019-02-25 11.0.220 stable +* 11.0 Stable release + ## 2019-02-25 11.0.208 beta * KeymanWeb now works again in Safari on iOS 9.3.5 (#1588) diff --git a/windows/src/desktop/history.md b/windows/src/desktop/history.md index 01dcbfe413..1142bc9115 100644 --- a/windows/src/desktop/history.md +++ b/windows/src/desktop/history.md @@ -1,5 +1,8 @@ # Keyman Desktop Version History +## 2019-02-25 11.0.1350.0 stable +* 11.0 Stable release + ## 2019-02-25 11.0.1313.0 beta * Bug Fix: AltGr causes sticky Left Control when some Windows European layouts are installed. (#1621) diff --git a/windows/src/developer/history.md b/windows/src/developer/history.md index dc7a5a022b..1b62448810 100644 --- a/windows/src/developer/history.md +++ b/windows/src/developer/history.md @@ -1,5 +1,11 @@ # Keyman Developer Version History +## 2019-02-25 11.0.1350.0 stable +* 11.0 Stable release + +## 2019-02-25 11.0.1313.0 beta +* No changes to Keyman Developer + ## 2019-02-21 11.0.1312.0 beta * Bug fix: Connect buttons to actions in Distribution tab in Project (#1606) * Bug fix: Fix crash saving new keyboard when missing files are referenced (#1605)