Eberhard Beilharz
f0c3280517
fix(linux): Fix lost context after pressing K_SHIFT
...
This fixes typing `n>` with sil_ipa keyboard which no longer output
the expected `ŋ` because pressing the shift key reset the context.
For modifier key presses we now exit `KMX_ProcessEvent::ProcessEvent`
early.
This change also removes a redundant line from engine.c. Clearing
the context happens in `reset_context()` again if necessary.
Fixes #5591 .
2021-08-18 19:26:45 +02:00
Eberhard Beilharz
c9497fd494
feat(common/core): Implement shiftFreesCaps and capsOnOnly
2021-08-06 16:13:58 +02:00
Eberhard Beilharz
cfeb9e820e
chore(linux): Implement Linux side of caps-lock action processing
2021-08-06 12:20:23 +02:00
Eberhard Beilharz
dabfea57ab
Merge pull request #5536 from keymanapp/chore/linux/5022-debian
...
chore(linux): Consolidate Debian source packages 📦
2021-08-06 12:02:54 +02:00
Eberhard Beilharz
43c920fec3
chore(linux): fix ibus-keyman test
2021-08-06 11:25:01 +02:00
Eberhard Beilharz
79f92a150c
chore(linux): Consolidate Debian source packages
...
This change consolidates the Debian packages into a single source
package, with the exception of the legacy KMFL packages.
Fixes #5022 .
2021-08-06 11:25:00 +02:00
Eberhard Beilharz
f08444019b
chore(linux): Remove compiler warning in ibus-keyman
...
This change replaces the deprecated `g_type_class_add_private`
and `G_TYPE_INSTANCE_GET_PRIVATE` with `G_DEFINE_TYPE_WITH_PRIVATE`
and the generated method `km_service_get_instance_private`.
2021-08-04 16:54:26 +02:00
Eberhard Beilharz
77d0d96480
refactor(linux): Reformat keycode_to_vk table
...
Also update comment where these values come from.
2021-08-04 12:00:36 +02:00
Marc Durdin
5a94012f01
Merge branch 'chore/common/core/debug-additional-tests' into chore/common/core/5488-delete-markers-reliably
2021-07-27 08:23:24 +10:00
Marc Durdin
796a2d4c85
chore(common/core): handle deletion of markers in actions
...
Fixes #5488 .
This updates Keyman Core, corresponding tests, and Keyman Engine for
Linux to support deletion of markers through an action, ensuring that
the action queue does not desynchronize with the context.
2021-07-26 15:23:20 +10:00
Eberhard Beilharz
0eca43d4ea
feat(common/core): Implement capsAlwaysOff system store
...
This change implements the core part in a way that makes the tests
pass. This still needs corresponding changes in the engine.
2021-07-23 10:25:28 +02:00
Eberhard Beilharz
ec03190f89
refactor(linux): reformat code
2021-07-20 10:07:42 +02:00
Eberhard Beilharz
de1d345408
refactor(linux): Re-add lost keys
2021-07-09 16:18:28 +02:00
Eberhard Beilharz
cda195390b
refactor(linux): Refactor processing actions in separate methods
2021-07-08 18:30:16 +02:00
Eberhard Beilharz
c401640c8a
chore(linux): Fix warnings
2021-06-14 17:39:05 +02:00
Eberhard Beilharz
01a9c36d53
fix(linux): Fix Caps Lock
...
Closes #4542 .
2021-05-11 17:51:01 +02:00
Eberhard Beilharz
044e53198a
fix(linux): Fix switching to keyboard in middle of line ( #4678 )
...
Don't re-set context if it changed because the cursor location was
wrong. When the user switches to the EuroLatin keyboard in the
middle of the line, we're getting a wrong cursor location. This will
be fixed with the next keypress, but it leads to the context string
suddenly having more characters added to the front. If we re-set the
context because it's different now we will loose the information we
previously added to the context.
We now compare the end of the string. If the new context string ends
with the old context string we assume that the cursor position got
updated and don't re-set the context.
This fixes #4678 .
2021-03-18 17:29:21 +01:00
Darcy Wong
a148463dca
feat(linux): Save new options into DConf
2020-02-01 17:04:09 +07:00
Darcy
12a6d5e95c
feat(linux): Start refactoring the dconf utilities
2020-01-31 17:35:49 +07:00
Darcy Wong
c83b390601
feat(linux): Add ability to configure keyboard options
2020-01-31 11:43:58 +07:00
glasseyes
69cc40f11c
avoid potential memleak
2019-02-14 16:37:14 +00:00
glasseyes
a8417670b8
add test/kmp.json to EXTRA_DIST
2019-01-28 09:59:33 -06:00
glasseyes
bc2ae0201e
fix forwarding backspace
2018-12-19 15:05:53 +07:00
glasseyes
4a80289d80
km_kbp_cp_dispose gone so cast and g_free instead
2018-12-19 13:23:17 +07:00
glasseyes
c7dc14bb13
baselayout kbdus.dll and alt en-US for now
2018-12-18 16:56:42 +07:00
glasseyes
1c1ca42301
baselayout only en-US for now
2018-12-18 15:51:37 +07:00
glasseyes
f2b6b9cf5c
default platform and baselayout for linux
...
baselayout is LANG changed to xx-CC format
also move linux code workspace
2018-12-18 15:49:56 +07:00
glasseyes
b8a199607f
wait until END to do EMIT_KEYSTROKE
...
in case there are other actions like INVALIDATE_CONTEXT after it
2018-12-18 09:10:43 +07:00
glasseyes
4547ed2e49
remove hasonlymarker
2018-12-17 21:44:34 +07:00
glasseyes
fc023c8cf1
missing part of merge
2018-12-17 21:05:26 +07:00
glasseyes
2ca84cbda3
remember to unset hasonlymarker on next CHAR
...
BACK from buffer if available
2018-12-17 10:13:27 +07:00
glasseyes
de498bd80a
Merge branch 'master' into linux-backspace
2018-12-17 10:00:20 +07:00
glasseyes
e82f8006d3
[linux] backspace
2018-12-17 09:47:49 +07:00
glasseyes
092db46071
rename marker to hasonlymarker
...
also reset hasonlymarker after committing char buffer
2018-12-17 09:46:57 +07:00
glasseyes
14639133d9
change marker from bool to char
2018-12-17 09:46:57 +07:00
glasseyes
e19c8c2c33
clear context in non-surroundingtext reset
2018-12-17 09:46:57 +07:00
glasseyes
528bb80121
check if context has changed before setting it
...
use a buffer for multiple CHAR events
2018-12-17 09:46:57 +07:00
glasseyes
eeabae4b58
keep track of marker state
...
BACK clears marker state instead of deleting char if has it
2018-12-17 09:46:57 +07:00
glasseyes
c4127d4457
get a max of MAXCONTEXT_ITEMS(128) of context
2018-12-17 09:46:57 +07:00
glasseyes
f06b25ef3f
initialising zeroed utf8
2018-12-17 09:46:57 +07:00
glasseyes
76f2345a1d
use XkbBell for ALERT for now
2018-12-17 09:46:57 +07:00
glasseyes
f5b14c4dd8
detect modifier key releases
2018-12-15 08:59:17 +07:00
glasseyes
b63575b465
[linux] remove X11 dependency from ibus-keyman
...
use gdk_display_beep instead of X11 beep
alternative strategy for detecting right mod keys
forward keycode instead of keysym
2018-12-14 14:09:23 +07:00
glasseyes
a8a960f0ee
handle surrogate pairs coming from CHAR actions
2018-12-13 13:14:41 +07:00
glasseyes
9acc7ef52d
use set-surrounding-text signal to refresh context
2018-12-13 13:14:41 +07:00
glasseyes
b790ee338f
separate Lalt/ctrl from Ralt/ctrl
2018-12-13 13:14:40 +07:00
glasseyes
308c9216a9
'us' is the default us xkb keyboard not 'en'
2018-12-13 09:34:47 +07:00
Daniel Glassey
47b1e4a688
Merge pull request #1396 from keymanapp/linux-multipleversions
...
[linux] check if kmx already processed at >= version
2018-12-10 10:40:00 +07:00
glasseyes
410175bdcb
remove unnecessary break
2018-12-07 11:53:26 +07:00
glasseyes
d0ef038a89
Merge branch 'master' into linux-ibus-keyman
2018-12-07 09:34:04 +07:00