Commit graph

70 commits

Author SHA1 Message Date
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
glasseyes
d2518f319e check if kmx already processed at >= version 2018-12-06 13:20:41 +07:00
Daniel Glassey
cf7b24b492
Merge pull request #1380 from keymanapp/linux-ibus-lang
[linux] separate IBus engines for each language
2018-12-06 11:46:09 +07:00
Daniel Glassey
f1f5f85d85
[linux] keyboardprocessor shouldn't be reconfd on jenkins (#1383)
* keyboardprocessor shouldn't be reconfd on jenkins

update launchpad script for disco and new packages

* removed deprecated actions

* add new About Keyman to package descriptions
2018-12-05 10:46:55 +07:00
glasseyes
486b6dbb61 abort engine construction if name is empty 2018-12-05 09:41:39 +07:00
glasseyes
41a7587107 enable surrounding context again 2018-12-04 15:25:53 +07:00
glasseyes
e454f6452e handle INVALIDATE_CONTEXT, EMIT_KEYSTROKE actions 2018-12-04 14:43:23 +07:00
glasseyes
4510bf3863 separate IBus engines for each language 2018-12-04 13:49:47 +07:00
glasseyes
2fdee08891 handle iso shift level 3 form of AltR 2018-12-03 13:56:19 +07:00
glasseyes
e99e536151 update keyman-service copyright, kmnkbp dep 2018-11-29 11:56:17 +07:00
glasseyes
b884ad896d misc fixes from review 2018-11-29 11:54:14 +07:00
glasseyes
ee5822969d don't use km_kbp_context_items_from_utf8 yet 2018-11-28 11:27:08 +07:00
glasseyes
5156dcc98b change oth lang to other 2018-11-26 11:35:04 +07:00
glasseyes
2cc3cebd8a cope with keyboard without lang 2018-11-26 10:56:24 +07:00
glasseyes
c20dd60064 add version to engine
though ibus doesn't seem to use it anyway
another g_file_test
2018-11-22 15:23:17 +07:00
glasseyes
b240fb50a2 use g_file_test more, add copyright header 2018-11-22 15:08:45 +07:00