From 5e893e83143371ac04fffbf1591a46ba2be18e3d Mon Sep 17 00:00:00 2001 From: courtjester <> Date: Tue, 30 Aug 2005 17:31:01 +0000 Subject: [PATCH] Fix shift key problem --- linux/libkmfl/ChangeLog | 2 ++ linux/libkmfl/libkmfl.spec | 4 ++-- linux/libkmfl/libkmfl.spec.fc2 | 4 ++-- linux/libkmfl/libkmfl.spec.generic | 2 +- linux/libkmfl/libkmfl.spec.mdk | 4 ++-- linux/libkmfl/libkmfl.spec.suse | 4 ++-- linux/libkmfl/src/kmfl_interpreter.c | 12 +++++++++++- linux/scim_kmfl_imengine/scim_kmfl_imengine.spec.fc2 | 4 ++-- .../scim_kmfl_imengine.spec.generic | 2 +- linux/scim_kmfl_imengine/scim_kmfl_imengine.spec.mdk | 4 ++-- .../scim_kmfl_imengine/scim_kmfl_imengine.spec.suse | 4 ++-- 11 files changed, 29 insertions(+), 17 deletions(-) diff --git a/linux/libkmfl/ChangeLog b/linux/libkmfl/ChangeLog index 5617848665..9c13c34839 100644 --- a/linux/libkmfl/ChangeLog +++ b/linux/libkmfl/ChangeLog @@ -1,3 +1,5 @@ +0.9 30-Aug-2005 + Fix shift key problem 0.8 4-Jul-2005 Add full support for virtual keys. 0.7 2-Jun-2005 diff --git a/linux/libkmfl/libkmfl.spec b/linux/libkmfl/libkmfl.spec index 76a69e5d91..ef0ebf5836 100644 --- a/linux/libkmfl/libkmfl.spec +++ b/linux/libkmfl/libkmfl.spec @@ -6,13 +6,13 @@ Summary: %{name} Name: libkmfl -Version: 0.7 +Version: 0.9 Release: 1suse Vendor: SIL Packager: Doug Rintoul Group: User Interface/X License: GPL -Source0: %{name}-%{version}.suse.tar.gz +Source0: %{name}-%{version}.tar.gz # Url: (none) BuildRoot: /var/tmp/libkmfl BuildArch: i586 diff --git a/linux/libkmfl/libkmfl.spec.fc2 b/linux/libkmfl/libkmfl.spec.fc2 index e8cd8c4f38..ad65a82074 100644 --- a/linux/libkmfl/libkmfl.spec.fc2 +++ b/linux/libkmfl/libkmfl.spec.fc2 @@ -6,13 +6,13 @@ Summary: %{name} Name: libkmfl -Version: 0.6 +Version: 0.9 Release: 1fc2 Vendor: SIL Packager: Doug Rintoul Group: User Interface/X License: GPL -Source0: %{name}-%{version}.fc2.tar.gz +Source0: %{name}-%{version}.tar.gz # Url: (none) BuildRoot: /var/tmp/libkmfl BuildArch: i586 diff --git a/linux/libkmfl/libkmfl.spec.generic b/linux/libkmfl/libkmfl.spec.generic index f1273c23a6..0d62df2236 100644 --- a/linux/libkmfl/libkmfl.spec.generic +++ b/linux/libkmfl/libkmfl.spec.generic @@ -6,7 +6,7 @@ Summary: %{name} Name: libkmfl -Version: 0.6 +Version: 0.9 Release: 1 Vendor: SIL Packager: Doug Rintoul diff --git a/linux/libkmfl/libkmfl.spec.mdk b/linux/libkmfl/libkmfl.spec.mdk index 16adfe7e88..f3ced93539 100644 --- a/linux/libkmfl/libkmfl.spec.mdk +++ b/linux/libkmfl/libkmfl.spec.mdk @@ -6,13 +6,13 @@ Summary: %{name} Name: libkmfl -Version: 0.6 +Version: 0.9 Release: 1mdk Vendor: SIL Packager: Doug Rintoul Group: User Interface/X License: GPL -Source0: %{name}-%{version}.mdk.tar.gz +Source0: %{name}-%{version}.tar.gz # Url: (none) BuildRoot: /var/tmp/libkmfl BuildArch: i586 diff --git a/linux/libkmfl/libkmfl.spec.suse b/linux/libkmfl/libkmfl.spec.suse index aadf6e0fd5..ef0ebf5836 100644 --- a/linux/libkmfl/libkmfl.spec.suse +++ b/linux/libkmfl/libkmfl.spec.suse @@ -6,13 +6,13 @@ Summary: %{name} Name: libkmfl -Version: 0.6 +Version: 0.9 Release: 1suse Vendor: SIL Packager: Doug Rintoul Group: User Interface/X License: GPL -Source0: %{name}-%{version}.suse.tar.gz +Source0: %{name}-%{version}.tar.gz # Url: (none) BuildRoot: /var/tmp/libkmfl BuildArch: i586 diff --git a/linux/libkmfl/src/kmfl_interpreter.c b/linux/libkmfl/src/kmfl_interpreter.c index 00f770dede..191d40450c 100644 --- a/linux/libkmfl/src/kmfl_interpreter.c +++ b/linux/libkmfl/src/kmfl_interpreter.c @@ -104,7 +104,17 @@ int kmfl_interpret(KMSI *p_kmsi, UINT key, UINT state) p_kmsi->history[0] = keysym; // Pass control to the first group for processing, and return if key was matched - if((matched=process_group(p_kmsi, p_group1)) > 0) return 1; + if((matched=process_group(p_kmsi, p_group1)) > 0) + return 1; + + // Now try without shift state + if (state & KS_SHIFT != 0) + { + keysym &= ~((unsigned long)KS_SHIFT<<16); + p_kmsi->history[0] = keysym; + if((matched=process_group(p_kmsi, p_group1)) > 0) + return 1; + } /* need some kind of error notification if error value returned */ diff --git a/linux/scim_kmfl_imengine/scim_kmfl_imengine.spec.fc2 b/linux/scim_kmfl_imengine/scim_kmfl_imengine.spec.fc2 index f27905dba4..756c042362 100644 --- a/linux/scim_kmfl_imengine/scim_kmfl_imengine.spec.fc2 +++ b/linux/scim_kmfl_imengine/scim_kmfl_imengine.spec.fc2 @@ -7,13 +7,13 @@ Summary: %{name} Name: scim_kmfl_imengine -Version: 0.6 +Version: 0.9 Release: 1fc2 Vendor: SIL Packager: Doug Rintoul Group: Applications/System License: GPL -Source0: %{name}-%{version}.fc2.tar.gz +Source0: %{name}-%{version}.tar.gz # Url: (none) BuildRoot: /var/tmp/scim_kmfl_imengine BuildArch: i586 diff --git a/linux/scim_kmfl_imengine/scim_kmfl_imengine.spec.generic b/linux/scim_kmfl_imengine/scim_kmfl_imengine.spec.generic index 7c35428877..b5cb227f32 100644 --- a/linux/scim_kmfl_imengine/scim_kmfl_imengine.spec.generic +++ b/linux/scim_kmfl_imengine/scim_kmfl_imengine.spec.generic @@ -7,7 +7,7 @@ Summary: %{name} Name: scim_kmfl_imengine -Version: 0.6 +Version: 0.9 Release: 1 Vendor: SIL Packager: Doug Rintoul diff --git a/linux/scim_kmfl_imengine/scim_kmfl_imengine.spec.mdk b/linux/scim_kmfl_imengine/scim_kmfl_imengine.spec.mdk index cf0a7308f5..13c446c6a7 100644 --- a/linux/scim_kmfl_imengine/scim_kmfl_imengine.spec.mdk +++ b/linux/scim_kmfl_imengine/scim_kmfl_imengine.spec.mdk @@ -7,13 +7,13 @@ Summary: %{name} Name: scim_kmfl_imengine -Version: 0.6 +Version: 0.9 Release: 1mdk Vendor: SIL Packager: Doug Rintoul Group: Applications/System License: GPL -Source0: %{name}-%{version}.mdk.tar.gz +Source0: %{name}-%{version}.tar.gz # Url: (none) BuildRoot: /var/tmp/scim_kmfl_imengine BuildArch: i586 diff --git a/linux/scim_kmfl_imengine/scim_kmfl_imengine.spec.suse b/linux/scim_kmfl_imengine/scim_kmfl_imengine.spec.suse index f749b3a02c..a80e20e93d 100644 --- a/linux/scim_kmfl_imengine/scim_kmfl_imengine.spec.suse +++ b/linux/scim_kmfl_imengine/scim_kmfl_imengine.spec.suse @@ -7,13 +7,13 @@ Summary: %{name} Name: scim_kmfl_imengine -Version: 0.6 +Version: 0.9 Release: 1suse Vendor: SIL Packager: Doug Rintoul Group: Applications/System License: GPL -Source0: %{name}-%{version}.suse.tar.gz +Source0: %{name}-%{version}.tar.gz # Url: (none) BuildRoot: /var/tmp/scim_kmfl_imengine BuildArch: i586