Commit Graph
100 Commits
Author SHA1 Message Date
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 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
Dorota Czaplejewicz 24adba44be Merge branch 'leak-fixes' into 'master'
Fix 2 leaks

Closes #148

See merge request Librem5/squeekboard!386
2020-10-03 07:38:52 +00:00
Dorota Czaplejewicz ec5570a547 Merge branch 'keyboard-layout-belgian' into 'master'
proposal for belgian layout (copy of fr)

See merge request Librem5/squeekboard!382
2020-10-01 13:21:49 +00:00
Dorota Czaplejewicz 07bcaa8e2b docs: Reorganize tutorial
People still ignore adding layouts to builtins and to tests. To unbury that information, and add a sort of checklist, the more interesting info has been moved upwards nd together.
2020-10-01 11:52:53 +00:00
Dorota Czaplejewicz c16c686592 docs: Tutorial syntax cleanups
Promoted bolded "headings" into actual headings, so that they can be linked to.
2020-09-29 13:33:37 +00:00
Dorota Czaplejewicz 4b825c26a6 Merge branch 'docs-fixes' into 'master'
Expand the development documentation in the readme

Closes #227

See merge request Librem5/squeekboard!377
2020-09-26 09:00:51 +00:00
Dorota Czaplejewicz 50fb124b26 Merge branch 'hacking-spelling-fixes' into 'master'
Fix spelling mistakes in doc/hacking.md

Closes #217

See merge request Librem5/squeekboard!378
2020-09-25 12:47:17 +00:00
Dorota Czaplejewicz 60056dcf26 Merge branch 'honor-a11y-setting' into 'master'
Honor org.gnome.desktop.a11y.applications screen-keyboard-enabled

Closes #222

See merge request Librem5/squeekboard!370
2020-09-24 06:49:13 +00:00
Dorota Czaplejewicz d93e9c2b11 rust: Fix deprecation warnings 2020-09-21 10:57:01 +00:00
Dorota Czaplejewicz b137e2e3a0 Merge branch 'ukrainian-keyboard-layout' into 'master'
Add Ukrainian keyboard layout

Closes #223

See merge request Librem5/squeekboard!372
2020-09-14 07:48:03 +00:00
Dorota Czaplejewicz 2f4a652f53 Merge branch 'fixmods' into 'master'
virtual_keyboard: Fix desynced modifiers state

See merge request Librem5/squeekboard!362
2020-08-28 11:02:50 +00:00
Dorota Czaplejewicz 88821e2e82 Merge branch 'terminal' into 'master'
Terminal layout: another approach

See merge request Librem5/squeekboard!368
2020-07-20 09:48:36 +00:00
Dorota Czaplejewicz 81344bb9c2 Merge branch 'patch-1' into 'master'
Brazilian Portuguese Keyboard Layout.

See merge request Librem5/squeekboard!365
2020-07-20 09:47:19 +00:00
Dorota Czaplejewicz 123faecb7d Merge branch 'italian' into 'master'
italian: Fix space and period

See merge request Librem5/squeekboard!364
2020-07-16 15:57:38 +00:00
Dorota Czaplejewicz 7ec3053aa4 Merge branch 'fixsize' into 'master'
size: Hardcode size to work around screen rotation

See merge request Librem5/squeekboard!361
2020-07-16 15:56:57 +00:00
Dorota Czaplejewicz 762e12431d Merge branch 'fix_gio_unix' into 'master'
build: Add missing gio-unix dependency

See merge request Librem5/squeekboard!356
2020-06-26 07:13:23 +00:00
Dorota Czaplejewicz 1a2df96c02 Release v1.9.2 "Aristotelian physics"
- Swedish
- Russian
- Danish
- French
- minor fixes
2020-06-07 14:38:23 +00:00
Dorota Czaplejewicz d2989e8ecd Merge branch 'lfb' into 'master'
Provide haptic feedback via libfeedback

Closes #166

See merge request Librem5/squeekboard!350
2020-06-04 13:31:24 +00:00
Dorota Czaplejewicz 75ecf9059a Update rust deps for release 2020-06-01 09:36:36 +00:00
Dorota Czaplejewicz 5715458d33 Merge branch 'master' into 'master'
Add danish keylayout

See merge request Librem5/squeekboard!353
2020-05-27 07:14:35 +00:00
Dorota Czaplejewicz 8196117269 Merge branch 'desktopfile-absolute' into 'master'
sm.puri.Squeekboard.desktop: make path to Exec= absolute

See merge request Librem5/squeekboard!352
2020-05-26 18:20:49 +00:00
Dorota Czaplejewicz fe22fc2271 Merge branch 'remove-dep-libcroco' into 'master'
Removed unused dependency 'libcroco'

See merge request Librem5/squeekboard!351
2020-05-24 18:19:15 +00:00
Dorota Czaplejewicz 76bd87686a Merge branch 'ru-layout' into 'master'
Fresh Russian layout

See merge request Librem5/squeekboard!347
2020-05-20 17:59:22 +00:00
Dorota Czaplejewicz 54ac7511cd Merge branch 'scaling' into 'master'
Stop scaling

See merge request Librem5/squeekboard!339
2020-05-13 11:01:21 +00:00
Dorota Czaplejewicz 080bbb4d4e Merge branch 'fix_doc_reference' into 'master'
Folder is doc, not docs

See merge request Librem5/squeekboard!349
2020-05-08 16:44:44 +00:00
Dorota Czaplejewicz cd3255b301 Merge branch 'swedish_wide_button' into 'master'
Swedish keyboard, use wide button switching between numbers, symbols and base

See merge request Librem5/squeekboard!344
2020-05-06 11:22:13 +00:00
Dorota Czaplejewicz 6414b57e57 Merge branch 'french-layout' into 'master'
French layout

See merge request Librem5/squeekboard!346
2020-04-28 12:31:44 +00:00
Dorota Czaplejewicz 3d1a641ca3 Merge remote-tracking branch 'upstream/master' into scaling 2020-03-12 10:51:30 +00:00
Dorota Czaplejewicz 0466a520f2 Merge branch 'predictoin_ui' into 'master'
Cleanups to make EekGtkKeyboard more standalone

See merge request Librem5/squeekboard!336
2020-03-12 10:46:14 +00:00
Dorota Czaplejewicz 9e8aca1cbf Merge branch 'unavailable' into 'master'
Crash less when outside resources are unavailable

See merge request Librem5/squeekboard!341
2020-03-11 10:55:05 +00:00
Dorota Czaplejewicz 334898c5a5 Release version 1.9.1 "Expected value"
- Preview support for "Control" and "Alt" modifiers in buttons, use field "modifiers: Control" inside a button
- Don't crash when gsettings has an empty list of settings
- Documentation rearrangement
2020-03-08 10:06:53 +00:00
Dorota Czaplejewicz 67a5f1bb0b cargo: Bump package versions before release 2020-03-08 10:02:54 +00:00
Dorota Czaplejewicz eb84e52897 Merge branch 'release_check' into 'master'
CI: Fix typo

See merge request Librem5/squeekboard!343
2020-03-07 11:38:34 +00:00
Dorota Czaplejewicz 0f7ff1636d CI: Fix typo 2020-03-07 11:17:25 +00:00
Dorota Czaplejewicz 8ff8e8ac48 Merge remote-tracking branch 'upstream/master' into scaling 2020-03-07 10:46:09 +00:00
Dorota Czaplejewicz d4bb9038c5 Merge branch 'release_check' into 'master'
CI: Test that any bump to changelog has a corresponding tag

See merge request Librem5/squeekboard!337
2020-03-07 10:33:53 +00:00
Dorota Czaplejewicz f3caeb8fc6 Merge branch 'docs' into 'master'
Docs: describe project priorities

See merge request Librem5/squeekboard!338
2020-03-07 10:33:03 +00:00
Dorota Czaplejewicz abaaf04b87 Merge branch 'modifiers' into 'master'
Add simple modifiers support

See merge request Librem5/squeekboard!306
2020-03-07 10:32:33 +00:00
Dorota Czaplejewicz 2770e1769c sizing: Ignore scaling factor for layout selection 2020-03-07 10:31:39 +00:00
Dorota Czaplejewicz 3cd170acc3 sizing: Create a standalone UI shape manager
The manager is used for sizing the layer surface. It promises never to exceed half the output height.

The selection of the current layout is not being done here, leading to worse behaviour in 1:1 scaling.

In the future, it could be used for sizing the keyboard itself and the suggestion box, as well as decide which layout to use, because layouts should have some sizing hints.
2020-03-07 10:31:39 +00:00
Dorota Czaplejewicz 24f709ab13 Remove unused code 2020-03-07 10:31:39 +00:00
Dorota Czaplejewicz 784f9127fa layout: Minor generalizations 2020-03-07 10:31:39 +00:00
Dorota Czaplejewicz 22daefba3a levelkeyboard: Rearrange to make future conversion easier 2020-03-07 10:31:39 +00:00
Dorota Czaplejewicz 4ff9cf087b renderer: Simplify by dropping gobjectness 2020-03-07 10:31:39 +00:00
Dorota Czaplejewicz 61e1ab5c5a layout: Split out choice to a struct on its own 2020-03-07 10:26:52 +00:00
Dorota Czaplejewicz 7fbc9ed56e Merge branch 'master' into 'master'
Fix minor comment typos

See merge request Librem5/squeekboard!342
2020-03-04 07:18:02 +00:00
Dorota Czaplejewicz 8ac2b5a713 gsettings: Don't crash on switching when unavailable 2020-03-03 19:46:53 +00:00
Dorota Czaplejewicz 8bae8fe5bb dbus: Don't crash if can't make a connection 2020-03-03 19:25:49 +00:00
Dorota Czaplejewicz b3cfc8a0f3 gsettings: Don't crash when unavailable 2020-03-03 19:10:50 +00:00
Dorota Czaplejewicz 5a591127a1 Merge branch 'doap' into 'master'
meta: Add doap file

See merge request Librem5/squeekboard!335
2020-03-01 14:21:45 +00:00
Dorota Czaplejewicz 8f3d010349 hacking: Move into docs/ 2020-02-28 14:10:44 +00:00
Dorota Czaplejewicz 7eb5c6d466 docs: Add the guiding principle 2020-02-28 13:26:09 +00:00
Dorota Czaplejewicz 9f6fe8318c CI: Test that any bump to changelog has a corresponding tag
Prevents forgetting to sign the tag, which is currently done out of band and independently of review.
2020-02-28 12:14:18 +00:00
Dorota Czaplejewicz 92e9d994fe modifiers: Support Control and Alt
Control and Alt are special in that they aren't expected to switch levels, and so don't need to change what characters are output.

Use in layouts by adding `modifier: Control` or `modifier: Alt` in place of `text: "foo"`.

The latching of the modifier will force the keyboard to emit raw key presses and prevent it from outputting text.
2020-02-28 11:21:07 +00:00
Dorota Czaplejewicz c28f07fcfd Merge branch 'fix_variant' into 'master'
settings: Handle empty settings

See merge request Librem5/squeekboard!333
2020-02-28 11:09:11 +00:00
Dorota Czaplejewicz 80919dbc42 Merge branch 'fix_ref' into 'master'
Variant: Use proper pointer conversion between C and Rust

See merge request Librem5/squeekboard!334
2020-02-28 11:08:46 +00:00
Dorota Czaplejewicz cc369f6f81 Merge branch 'press' into 'master'
layout: Improve press handling

See merge request Librem5/squeekboard!330
2020-02-26 18:43:21 +00:00
Dorota Czaplejewicz 46cbaf8e87 keyboard: Remove unused code 2020-02-23 12:15:19 +00:00
Dorota Czaplejewicz 53b4466899 meta: Add doap file 2020-02-23 10:42:07 +00:00
Dorota Czaplejewicz c0aee5de26 Variant: Use proper pointer conversion between C and Rust 2020-02-20 12:17:50 +00:00
Dorota Czaplejewicz 404f94638f settings: Handle empty settings 2020-02-20 12:06:47 +00:00
Dorota Czaplejewicz cb802cfb50 layout: Improve press handling
Makes it more similar to release handling, removes some redundant checks.

This makes it easier to integrate modifiers in the future.
2020-02-19 15:40:39 +00:00
Dorota Czaplejewicz 930f5be0c8 Release 1.9.0 "Fractal dimension"
Highlights:

- Fixed glib critical when switching layouts
- Fixed minor memory leaks when switching layouts
- Whenever the client supports it, text is sent as text instread of key presses
- New Polish language layout
- Fixed greek layout
- Better key locking
- Less leaks
- Tweaks in terminal layout
- Better emoji layout
2020-02-19 14:47:04 +00:00
Dorota Czaplejewicz 7266f539d4 cargo: Update deps 2020-02-19 14:44:35 +00:00
Dorota Czaplejewicz da1f480f7a Merge branch 'emoji' into 'master'
Emoji: More choices

See merge request Librem5/squeekboard!324
2020-02-19 14:43:58 +00:00
Dorota Czaplejewicz 3c3f00ede8 Merge branch 'bad_delete' into 'master'
text input: Disable erasing

See merge request Librem5/squeekboard!332
2020-02-18 20:38:33 +00:00
Dorota Czaplejewicz 85be855032 text input: Disable erasing
Erasing with zwp_text_input_v3 version 1 requires bytes, and bytes require get_surrounding_text. That, however, is optional. That's a mistake in protocol design.

Easiest to drop this until the mess is solved on the protocol side.
2020-02-12 10:56:07 +00:00
Dorota Czaplejewicz 3e642fdac7 Merge branch 'termi' into 'master'
layouts: terminal: Use altline outline for dot key

See merge request Librem5/squeekboard!331
2020-02-12 10:44:28 +00:00
Dorota Czaplejewicz a57a78aa2e Merge branch 'center' into 'master'
Center views relative to layout space

See merge request Librem5/squeekboard!326
2020-02-09 20:34:31 +00:00
Dorota Czaplejewicz b441103674 Merge branch 'slash' into 'master'
terminal: Make */ easier to reach

See merge request Librem5/squeekboard!325
2020-02-06 09:31:58 +00:00
Dorota Czaplejewicz 1c3516d6bf terminal: Make */ easier to reach
They exchanged positions with @%
2020-02-05 19:46:59 +00:00
Dorota Czaplejewicz c766fae686 layout: Improve scoping of locked variable 2020-02-05 12:55:31 +00:00
Dorota Czaplejewicz aadcdbf276 Merge branch 'langs' into 'master'
Update translations & greek

See merge request Librem5/squeekboard!315
2020-02-05 11:05:42 +00:00
Dorota Czaplejewicz 10178d204b Merge remote-tracking branch 'upstream/master' into center 2020-02-05 10:32:07 +00:00
Dorota Czaplejewicz 37e1ed93a6 Merge branch 'text_input_enable' into 'master'
Submit and delete strings via text_input

See merge request Librem5/squeekboard!304
2020-02-03 15:06:25 +00:00
Dorota Czaplejewicz b770511422 keyboard_layout: Fix leak 2020-02-03 14:59:14 +00:00
Dorota Czaplejewicz 2e9b8581e7 variant: Fix leak 2020-02-03 14:53:27 +00:00
Dorota Czaplejewicz 1cbc21ad11 variant: Fix double-free
gio::Settings::set_value takes over ownership of the Variant sometimes, but in other cases it doesn't. To prevent this being a problem, the custom Variant is made of the type that will never have its ownership taken.

This is not necessarily consistent with what gtk-rs authors intended.

In practice, the ownership is shared by refcounting, and after the Rust reference is dropped, one taken by Settings survives.
2020-02-03 14:53:24 +00:00