Commit Graph

851 Commits

Author SHA1 Message Date
Dorota Czaplejewicz
49aa4256a9 Merge branch 'keyboard-layout-us+dvorak' into 'master'
Add US Dvorak layout (and Colemak wide)

See merge request Librem5/squeekboard!427
2021-01-26 09:07:22 +00:00
J.D. Laub
eb7d0d5db9 Add US Dvorak layout (and Colemak wide)
Signed-off-by: Dave Laub <purism@laubster.org>
2021-01-24 10:48:12 -07:00
Dorota Czaplejewicz
2a11bce945 Merge branch 'serial' into 'master'
imservice: Increment serials on receiving done, not sending commit

See merge request Librem5/squeekboard!426
2021-01-24 05:14:57 +00:00
Dorota Czaplejewicz
0c179560b3 visibility: Stop calling GTK functions from the visibility manager
The viibility manager state is changed from various handlers, which are not guaranteed to be reentrant, most notably the Wayland handler for preedit done.
As the state is changed, relevant requests to synchronize user-visible UI are fired from the same handler.

In case of imservice_handle_done, GTK widget show function was being called, which triggered another round of handling Wayland, leading to the done handler being called again, and flaking out.

To solve this, the phase of issuing commands needs to be separate from adjusting desired state. It seems that the easiest solution is to delay the show() and hide() calls into the next GTK main loop spin.

A better solution would probably inject itself directly after the change of desired state, so that *all* the side effects are delayed.
2021-01-10 11:04:02 +00:00
Dorota Czaplejewicz
3cbfd8351c imservice: Increment serials on receiving done, not sending commit
No idea how that managed to stay undetected for so long.
2021-01-10 10:41:17 +00:00
jranaraki
66c3926eb2 Added requirements to resources.rs and meson.build 2020-12-27 02:01:54 -05:00
Dorota Czaplejewicz
4d24af4e1a Merge branch 'test_docs' into 'master'
Make layout lists more ordered

See merge request Librem5/squeekboard!417
2020-12-21 14:40:11 +00:00
Dorota Czaplejewicz
4890c86b4e dbus: Reset hints if text input missing 2020-12-15 13:20:34 +00:00
Dorota Czaplejewicz
658df98e18 layout_names: Unmess the list of builtin layouts 2020-12-12 07:42:32 +00:00
Dorota Czaplejewicz
6f7252ec7c tests: Add some description to the list of tested layouts
Contributors have started to make it messy.
2020-12-12 07:40:51 +00:00
Vladimir Stoilov
8dd92c81e7 bulgarian add translation and to needed lists 2020-12-11 22:06:39 +02:00
Dorota Czaplejewicz
9a72db2fcc Merge branch 'esperanto' 2020-12-07 15:33:01 +00:00
Stefan Grotz
61a84c47f1 Esperanto keyboard
Fixed by Dorota Czaplejewicz <dorota.czaplejewicz@puri.sm>
2020-12-07 15:32:37 +00:00
Sebastian Krzyszkowiak
a9ecc13185 Merge branch 'fallback' into 'master'
Better fallbacks

See merge request Librem5/squeekboard!415
2020-12-05 04:16:44 +00:00
Sebastian Krzyszkowiak
7143fb2497 Merge branch 'central_visible' into 'master'
Central visibility policy

See merge request Librem5/squeekboard!409
2020-12-05 04:12:01 +00:00
Dorota Czaplejewicz
c6cc58fd8e ffi: Eliminate squeek_button and squeek_row 2020-12-04 17:34:53 +00:00
Dorota Czaplejewicz
9522d4e302 renderer: Bring button drawing closer to Rust 2020-12-04 15:35:02 +00:00
Dorota Czaplejewicz
8f62520648 view: Ąto-unlatching when multiple latching buttons pressed
Best seen in the PL layout, where to get to Ą, two buttons must be latched: Capitals, and then Accents.
2020-12-04 10:02:04 +00:00
Dorota Czaplejewicz
e36c4e597f layout: Remove the little abomination of view change promise
It didn't make anything more testable due to being tightly coupled to Layout.
With the last place needing the curent form abolished, it's no longer needed.

No attempt to make it more stateless and unit-testable was made though.
2020-12-03 19:56:48 +00:00
Dorota Czaplejewicz
8ab6997b21 layout: Plug in stateless view switching 2020-12-03 19:44:26 +00:00
Dorota Czaplejewicz
3b06eadef5 layout: Add stateless view switching
Tested, but not yet plugged in.
2020-12-03 19:35:50 +00:00
Dorota Czaplejewicz
287e851770 layout: Latch keys when clicked twice
Third click unlatches. No actual UI indication.
2020-12-03 18:42:24 +00:00
Guido Gunther
dfee95430d Merge branch 'release' into 'master'
Reproducible build

See merge request Librem5/squeekboard!413
2020-12-03 17:18:50 +00:00
Dorota Czaplejewicz
fcd0eaddf2 layouts: Simplify the main flow of source list 2020-12-03 16:26:47 +00:00
Dorota Czaplejewicz
ba2e191918 layouts: Use base as fallback for alternative layouts 2020-12-03 16:15:22 +00:00
Dorota Czaplejewicz
cc4f14e8c6 data: Flattened layout fallback function 2020-12-03 15:47:44 +00:00
Dorota Czaplejewicz
103e64b96c data: Made data flow in fallback clearer 2020-12-03 15:45:45 +00:00
Dorota Czaplejewicz
01d06d0f5f Merge branch 'keyboard-layout-us+colemak' into 'master'
Added US Colemak Keyboard Layout

See merge request Librem5/squeekboard!403
2020-12-03 15:13:11 +00:00
Jiří Stránský
c3b428e517 Add Czech keyboard layouts
Two variants:

* Czech Standard (= qwertz)

* Czech qwerty

The accented letters layout corresponds to the UCW [1] layout shipped
with xkb, so we follow this precedent.

Like the DE layout, and unlike the US layout, the CZ layout has a
comma key and a narrower space bar. The added comma key also serves as
a visual balance to the added accents key, to keep the spacebar
centered.

The layouts have been tested manually on PinePhone.

[1] c60b77ea51/test/data/symbols/cz (L180)
2020-11-29 17:28:50 +01:00
Dorota Czaplejewicz
963f52bbc3 tests: Explicitly pass source directory to tests 2020-11-29 10:42:20 +00:00
Dorota Czaplejewicz
9dcc4c9868 tests: Prefer the env var for finding test layouts
The builtin file path is embedded in the binary and subject to substitution, which makes it invalid when trying to build a .deb reproducibly.

Out of the two solutions, it's easier to make the change here rather than customize .debu building not to run tests reproducibly.
2020-11-28 18:57:54 +00:00
Dorota Czaplejewicz
81041b8035 Merge branch 'wannaphong-master-patch-05164' into 'master'
Add thai keyboard

See merge request Librem5/squeekboard!402
2020-11-23 08:17:29 +00:00
Dorota Czaplejewicz
17db3db296 visibility: Centralize keyboard panel visibility policy and handling
With the policy being disentangled from application, it becomes testable.
This prepares for moving the entire visibility mechanism to the new class and taking away more pieces of ServerContextService.
In addition, this is a good warmup before trying to implement sizing policy.
2020-11-19 09:49:51 +00:00
Dorota Czaplejewicz
ebbb3b1138 UI: Keep visibility factors in a central place 2020-11-18 19:29:42 +00:00
Dorota Czaplejewicz
277986bcdf imservice: Set up UI according to current needs when it shows up 2020-11-18 18:38:24 +00:00
Dorota Czaplejewicz
12c9ca1e02 ui: Cancel hiding delay when activity requested again 2020-11-14 06:09:37 +00:00
clonex10100
cf09d1b3bc Added US Colemak Keyboard Layout 2020-11-02 13:27:27 -05:00
Wannaphong Phatthiyaphaibun
81fb7e0df3 Update resources.rs 2020-11-01 09:42:27 +00:00
Dorota Czaplejewicz
d07b5ed0d6 UI: Delay hiding only when leaving a text field 2020-10-20 11:52:06 +00:00
Dorota Czaplejewicz
153f9c39e5 lint: Check for missing braces
The `eek/layersurface.c` file should be excluded because it's an imported, "foreign" source, but clang-tidy doesn't seem to have an annotation for that.

An alternative would have been to exclude it in Meson and do the check there, but that requires clang-tidy, raising the barrier to contribute of Squeekboard even more (it already requires libfeedback, which isn't packaged widely).
2020-10-20 11:34:17 +00:00
Dorota Czaplejewicz
c0b6ea51fa enabled: Don't force the keyboard to show when enable is switched
This is a bit of a hack: the enable semantics are not finalized yet:

https://source.puri.sm/Librem5/squeekboard/-/issues/238

This prevents the keyboard from appearing over the lock screen at least:

https://source.puri.sm/Librem5/squeekboard/-/merge_requests/397#note_123987
2020-10-20 08:08:55 +00:00
Guido Gunther
0ed1dd925a Merge branch 'x11final' into 'master'
Use multiple key maps, each of which is acceptable by Xwayland

See merge request Librem5/squeekboard!393
2020-10-19 13:43:12 +00:00
Fabio Tomat
eeb7e252c7 Revert "Add friulian keyboard"
This reverts commit 16ccb5fd341fbdeff04b1540f99fe9cbe1c27df1
2020-10-19 08:44:16 +00:00
Dorota Czaplejewicz
229b3bac51 tests: Fix bad field access
As a result of an automatic merge, a private field was accessed that shouldn't be.
2020-10-14 10:12:57 +00:00
Dorota Czaplejewicz
a4e7ad06d3 build: Avoid MaybeUninit on older Debian 2020-10-12 14:14:26 +00:00
Dorota Czaplejewicz
db298b0fb8 keymaps: Use multiple key maps, each within the limit of what Xorg can accept.
Key maps are switched on key press whenever needed.
2020-10-12 14:14:17 +00:00
Dorota Czaplejewicz
4373cf7bc3 keymap: Concentrate special handling of BackSpace, which is implicit in Erase action 2020-10-12 13:57:53 +00:00
Guido Gunther
2f613ea4c7 Merge branch 'x11_prepare' into 'master'
Cleanups leading to Xwayland compatibility

See merge request Librem5/squeekboard!389
2020-10-12 12:45:13 +00:00
Dorota Czaplejewicz
8f526bd357 tests: Check for missing return in builtin layouts except emoji 2020-10-12 10:51:23 +00:00
Dorota Czaplejewicz
b77b3f7816 vkeyboard: Use a generic slice instead of a vector 2020-10-12 10:51:23 +00:00