Commit Graph

1634 Commits

Author SHA1 Message Date
Dorota Czaplejewicz
6abaa36db8 eekboard_context: Rename 2020-03-12 11:34:20 +00:00
Dorota Czaplejewicz
710509a671 eekboard context: Remove some unused code 2020-03-12 11:34:20 +00:00
Dorota Czaplejewicz
16d7fcae7c eekboard context: Remove unused struct 2020-03-12 11:34:20 +00:00
Dorota Czaplejewicz
e504154571 managers: Turn gsettings management into a separate piece. 2020-03-12 11:34:20 +00:00
Dorota Czaplejewicz
b19938da01 ui: Fix old Rust borrowing 2020-03-12 11:26:49 +00:00
Dorota Czaplejewicz
b409df15bb ui: Update UI state based on output events 2020-03-12 11:26:49 +00:00
Dorota Czaplejewicz
7dd2866b17 ui manager: Update state and calculate new size on ouptut change 2020-03-12 11:26:49 +00:00
Dorota Czaplejewicz
f6fc6c83dc outputs: Pass output updates
Introduce a callback in `outputs::Outputs` that calls on every `wl_output.done`, and a dummy consumer in `ui_manager`.

This is sufficient to detect display height changes.
2020-03-12 11:26:49 +00:00
Dorota Czaplejewicz
fa5c7c63d9 ui_manager: Calculate max_height in a purer fashion 2020-03-12 11:26:49 +00:00
Dorota Czaplejewicz
1093e32325 sizing: Use physical dimensions of the display to determine optimal keyboard height.
Parameters fudged appropriately to preserve dimensions from the original design targting Librem5:

- 720×1440 results in 420px height, via max finger size
- 1440×720 results in 360px height, via not exceeding half the display

In absence of physical dimensions, a pixel is assumed to measure half the size as on the Librem5, and then shrunk by the current display scale factor.This gives the ability to test in nested phoc at selected scale factors like before (2x being most accurate), and keeps the right size in QEMU.
2020-03-12 11:26:49 +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
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
&t
67cc4f11cf Fix minor comment typos 2020-03-04 04:53:53 +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
Guido Gunther
99f2f286e3 Merge branch '1.9.0' into 'master'
Release 1.9.0

See merge request Librem5/squeekboard!328
2020-02-24 12:55:52 +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
v1.9.0
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