Commit Graph
100 Commits
Author SHA1 Message Date
Dorota Czaplejewicz 04b105ab38 debian: Install systemd service
`squeekboard-restyled` is not needed any more, because the user can alter the style in the systemd unit if desired.
2021-04-02 06:21:41 +00:00
Dorota Czaplejewicz 80388c0042 debian: Install .desktop file 2021-04-02 06:19:33 +00:00
Dorota Czaplejewicz d8e58fd774 Merge branch 'keyboard-layout-hebrew' into 'master'
moved data/langs/he_IL.txt -> data/langs/he-IL.txt to better conform with existing translations.

See merge request Librem5/squeekboard!442
2021-03-31 12:04:37 +00:00
Dorota Czaplejewicz b578414655 Merge remote-tracking branch 'upstream/master' into latch 2021-03-31 09:48:29 +00:00
Dorota Czaplejewicz 89b1f51ed5 appearance: Colour latched/locked according to design 2021-03-31 09:13:51 +00:00
Dorota Czaplejewicz 7b1755a489 renderer: Mark latched buttons differently than locked
There are some hacks here in the form of an extra field "appears_locked_from", which can be used to hint that the user should see the button as locked. Without it, there's some confusion on user side regarding buttons that change states unprompted.
2021-03-31 09:11:11 +00:00
Dorota Czaplejewicz 676a2b60ac layout: Make it possible to opt out of latching per-key 2021-03-31 09:09:38 +00:00
Dorota Czaplejewicz 32dc25dfbf Revert "moved data/langs/he_IL.txt -> data/langs/he-IL.txt to better conform with existing translations."
This reverts commit d8ca9f47ca.

This touches way more than advertised.
2021-03-31 08:39:57 +00:00
Dorota Czaplejewicz 484d64cfb9 Merge branch 'keyboard-layout-hebrew-fix-layout' into 'master'
Fix Hebrew layout inconsistencies with standard hebrew layout.

Closes #272

See merge request Librem5/squeekboard!440
2021-03-31 08:27:02 +00:00
Dorota Czaplejewicz 637da2c177 Merge branch 'gnome-session' into 'master'
Complete session registration

Closes #274

See merge request Librem5/squeekboard!441
2021-03-31 08:17:39 +00:00
Dorota Czaplejewicz 3210a363ab Merge branch 'keyboard-layout-hebrew' into 'master'
Add Hebrew translations for most layouts.

See merge request Librem5/squeekboard!439
2021-03-30 17:55:11 +00:00
Dorota Czaplejewicz f45f2db948 Merge branch 'crash' into 'master'
Stop requiring a renderer to be present to get a transformation

Closes #270

See merge request Librem5/squeekboard!438
2021-03-30 13:45:32 +00:00
Dorota Czaplejewicz 24c3fac505 renderer: Split mutable geometry and place it directly in GtkKeyboard
Geometry is now permanently married to the widget rather the renderer. While geometry is not always defined, C doesn't support sum types, so checks won't be enforced by the compiler. It's OK to pretend there's always some geometry to avoid crashes.
2021-03-17 14:37:54 +00:00
Dorota Czaplejewicz 46f8790fc0 renderer: Reduce reliance on knowing the transform 2021-03-17 13:29:02 +00:00
Dorota Czaplejewicz 3cdced0c0c Merge branch 'fixes' into 'master'
Rust fixes

See merge request Librem5/squeekboard!435
2021-03-17 13:21:46 +00:00
Dorota Czaplejewicz bffd212e10 Merge branch 'it' into 'master'
italian: Fix colon

See merge request Librem5/squeekboard!434
2021-03-09 16:03:38 +00:00
Dorota Czaplejewicz c2c379b870 Rust: Remove unnecessary no_mangle statements to silence warnings 2021-03-09 14:59:23 +00:00
Dorota Czaplejewicz 1ae29ff7bc popover: Fix prematurely deallocated CString 2021-03-09 14:36:37 +00:00
Dorota Czaplejewicz d3cd7dc11f italian: Fix colon 2021-03-09 14:09:59 +00:00
Dorota Czaplejewicz d3695d3bc9 Merge branch 'th-enhancement' into 'master'
Add wide Thai keyboard layout

See merge request Librem5/squeekboard!433
2021-02-13 16:01:45 +00:00
Dorota Czaplejewicz 842e616cd3 Merge branch 'master' into 'master'
Add Mod4 (Windows) key

See merge request Librem5/squeekboard!432
2021-02-11 17:44:02 +00:00
Dorota Czaplejewicz e6c45a63fb Merge branch 'master' into 'master'
Added hebrew keyboard layout

See merge request Librem5/squeekboard!430
2021-02-06 10:45:12 +00:00
Dorota Czaplejewicz bedabb6188 Merge branch 'catalan' into 'master'
Catalan keyboard layout

See merge request Librem5/squeekboard!431
2021-02-06 10:38:18 +00:00
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
Dorota Czaplejewicz 575619e812 Merge branch 'tagfix' into 'master'
CI: fix xheck_tag to be compatible with Amber

See merge request Librem5/squeekboard!428
2021-01-24 06:28:26 +00:00
Dorota Czaplejewicz 630cfc8e59 CI: fix xheck_tag to be compatible with Amber 2021-01-24 06:07:06 +00: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 fefebf7f6e Release 1.12.0 "Convolution"
User-visible changes:
- Fixed a crash related to making keyboard visible.
- Better fallback: when selecting a missing layout named "fr+foo", "fr" will be used instead.
- When enabling the keyboard manually, it will never be stuck in the numbers view.
- Thai layout
- US-Colemak layout
- Czech layouts
- Esperanto layout
- Bulgarian layout
- Improved Norwegian layout

That's a lot of new layouts!

Plus a bunch of stricter warnings, MIPS64el support, and reproducible building.
2021-01-11 11:43:39 +00:00
Dorota Czaplejewicz 21c3a74019 cargo: Update dependencies for release 2021-01-11 11:43:39 +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 38842f9743 input-method: Fix commit/done mixup in protocol text 2021-01-10 10:45:14 +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
Dorota Czaplejewicz 6e7c0e6f67 Merge branch 'keyboard-layout-farsi' into 'master'
Farsi/Persian keyboard layout

See merge request Librem5/squeekboard!424
2020-12-30 13:54:49 +00: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 422d06d582 Merge branch 'reset_hint_smart' into 'master'
dbus: Reset hints if text input missing

Closes #256

See merge request Librem5/squeekboard!421
2020-12-16 16:00:53 +00:00
Dorota Czaplejewicz 4890c86b4e dbus: Reset hints if text input missing 2020-12-15 13:20:34 +00:00
Dorota Czaplejewicz b72c6b53e4 Merge branch 'fix_norwegian_button_size' into 'master'
no: Use wide button switching between numbers, symbols and base

See merge request Librem5/squeekboard!419
2020-12-15 12:37:42 +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
Dorota Czaplejewicz 558a2568e3 Merge branch 'undefined' into 'master'
Bulgarian language keyboard layout

See merge request Librem5/squeekboard!418
2020-12-12 07:38:34 +00:00
Dorota Czaplejewicz 9a72db2fcc Merge branch 'esperanto' 2020-12-07 15:33: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
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 2796362d34 build: Fail on any C warnings when strict 2020-12-03 15:26:54 +00:00
Dorota Czaplejewicz af00d74f71 build: Enable wformat to remove warnings about missing wformat 2020-12-03 15:26:28 +00:00
Dorota Czaplejewicz 02d579d757 build: Enable unused warnings in C
The goal is to be free of unused X class of problems. For this, CI and any "serious" builds will fail on warnings. Debug builds, used in development, will warn by default but not fail.

In addition, the 'strict' build option is added for when the debug build should fail on unused warnings as well.
2020-12-03 15:21:58 +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
Dorota Czaplejewicz 1d1c98c27a Merge branch 'f/czech-layouts' into 'master'
Add Czech keyboard layouts

See merge request Librem5/squeekboard!414
2020-12-03 14:42:04 +00:00
Dorota Czaplejewicz 1fe6d65525 tests: Allow legacy mode to have much longer tests. 2020-11-29 12:53:35 +00:00
Dorota Czaplejewicz 39a3c40d67 debian: Build reproducibly 2020-11-29 10:42:24 +00: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 df8e885983 build: Fix release 2020-11-28 18:57:46 +00:00
Dorota Czaplejewicz c9f9a3b577 Merge branch 'cargo' into 'master'
docs: Correct Cargo update instructions

See merge request Librem5/squeekboard!398
2020-11-23 09:16:59 +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 4049e66307 Release 1.11.1 "Diploid"
Bug fix release:
- Fixes to German layout
- Fixed showing the panel right after starting
2020-11-21 11:09:37 +00:00
Dorota Czaplejewicz 046a516a11 cargo: Update deps 2020-11-21 11:03:45 +00:00
Dorota Czaplejewicz b5d1e8c3eb Merge branch 'keyboard-layout-german-move-semicolon' into 'master'
keyboard: Move semicolon in German layout to numbers view replacing redundant comma key

See merge request Librem5/squeekboard!410
2020-11-20 18:33:01 +00:00
Dorota Czaplejewicz dda070e84e Merge branch 'race' into 'master'
imservice: Set up UI according to current needs when it shows up

See merge request Librem5/squeekboard!407
2020-11-19 19:04:22 +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 96461cf2aa Merge branch 'keyboard-layout-german-fix-semicolon' into 'master'
keyboard: Fix semicolon in German layout

Closes #226

See merge request Librem5/squeekboard!406
2020-11-14 20:29:56 +00:00
Dorota Czaplejewicz 5aa7334787 Release 1.11.0 "Perceptron"
This is a special Evergreen release with only 2 changes:

- don't delay hiding when explicitly requested to hide,
- fix typo in Friulian translation.
2020-11-14 06:49:00 +00:00
Dorota Czaplejewicz 955a138849 Update dependencies 2020-11-14 06:44:23 +00:00
Dorota Czaplejewicz 12c9ca1e02 ui: Cancel hiding delay when activity requested again 2020-11-14 06:09:37 +00:00
Dorota Czaplejewicz 91acfa0138 Merge branch 'patch-1' into 'master'
Update fur-IT.txt fix typo for Spanish

See merge request Librem5/squeekboard!401
2020-11-10 14:39:18 +00:00
Dorota Czaplejewicz c0525946ae Release version 1.10.0 "Idempotence"
- Xwayland support
- Keys' press zone extends to the side edges of the widget
- Layout popover separates languages from special layouts
- Popover can open settings
- Keyboard is invisible when GNOME accessibility setting is off
- Layout tester checks for presence of Backspace and Return
- Adjusts the keyboard size better to tablet-sized displays
- Friulian keyboard layout
- Ukrainian layout
- Belgian layout
- Wide French layout
- Wide Belgian layout
- Wide terminal layout
- Improved tutorial
- Improved README
- Stricter compilation checks
- Minor fixes
2020-10-22 10:26:53 +00:00
Dorota Czaplejewicz 8bb5c4f16c cargo: Update dependencies 2020-10-21 08:08:48 +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
Dorota Czaplejewicz 5d81cf78f8 docs: Correct Cargo update instructions 2020-10-19 14:33:08 +00:00
Dorota Czaplejewicz 39464f9c99 Merge branch 'master' into 'master'
Add friulian keyboard and langs layout

See merge request Librem5/squeekboard!396
2020-10-19 08:44:17 +00:00
Dorota Czaplejewicz 65425ff928 Merge branch 'fix' into 'master'
tests: Fix bad field access

See merge request Librem5/squeekboard!395
2020-10-14 10:37:26 +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
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
Dorota Czaplejewicz 87eb775377 keymap: Keep keymap fd management in one place
At the same time, reduce the distance between this and the Xwayland handling branch.
2020-10-12 10:50:40 +00:00
Dorota Czaplejewicz afd47ef8b4 Merge branch 'optimize-sizing' into 'master'
Optimize sizing

See merge request Librem5/squeekboard!390
2020-10-12 08:18:22 +00:00
Dorota Czaplejewicz 7e38d17cb7 debian: Insert a "breaks" for librem5-base < 24
Librem5-base sets the GNOME a11y to true, which solves the invisibility of the keyboard on the phone.
2020-10-11 16:36:16 +00:00
Dorota Czaplejewicz ef7df433d8 Merge branch 'wide-keyboards' into 'master'
Add wide keyboards

See merge request Librem5/squeekboard!391
2020-10-11 14:30:35 +00:00
Dorota Czaplejewicz 8e32de86a9 Merge branch 'extend-keys-to-bounding-box' into 'master'
Expand key press detection to the edges of the view's bounding box

Closes #191

See merge request Librem5/squeekboard!379
2020-10-11 14:25:03 +00:00
Dorota Czaplejewicz d283ced2ce Merge branch 'popover-sorting' into 'master'
Sort layouts by type before sorting by name

Closes #176

See merge request Librem5/squeekboard!384
2020-10-07 15:23:25 +00:00
Dorota Czaplejewicz 8cf6c5f948 syntax: Let older rustc understand symbolmap's lifetime 2020-10-06 10:32:07 +00:00
Dorota Czaplejewicz de3bf54dc9 data: Restore testability of action->keysym conversion 2020-10-06 10:32:07 +00:00
Dorota Czaplejewicz 2219eb67e1 keymap: Generate from symbol map, not layout
Includes changes to the keymap string without which Xwayland won't work.
2020-10-06 10:31:28 +00:00
Dorota Czaplejewicz 61400c9584 build: Error on repeating declarations 2020-10-06 09:54:17 +00:00