139 Commits

Author SHA1 Message Date
51a77c41c3 renderer: Remove unused functions 2019-12-07 15:19:53 +00:00
804aa53351 renderer: Remove unused locked key render function 2019-12-07 14:01:03 +00:00
e6da2a3b5b rendering: Remove unneeded redraw after button release 2019-12-07 13:58:50 +00:00
f9fbd3fb2d rendering: Simplify Cairo context usage, remove unneeded calls.
Moved Cairo context usage to Rust, and rearranged ctx setup (position) to happen in one place.

Removed render calls that were overwritten on each draw call anyway.
2019-12-07 12:47:47 +00:00
83fea8cd31 Drop squeek_key 2019-12-01 15:01:08 +00:00
0c7e77a05f pointer: Release button when window is left 2019-11-20 13:17:47 +00:00
db52a842b2 Merge branch 'caches' into 'master'
Fix leaks

See merge request Librem5/squeekboard!237
2019-11-15 13:50:29 +00:00
b6dfb20fec cache: Remove keyboard cache 2019-11-06 14:45:33 +00:00
47c4119ab7 Add a popover menu to switch languages 2019-11-05 13:10:55 +00:00
c99efc430c presses: Move press handling to Rust
This fixes some rendering things which would happen with multiple state-sharing buttons. It also removes some interfaces exposing rows, views, layouts, and buttons, bringing the code closer to removing them from the FFI entirely.
2019-10-23 15:11:16 +00:00
29231f7e31 cleanup: Unused types 2019-10-20 09:47:10 +00:00
2889e50507 style: Simplified layout styling
Layout background is styled in the same place as button background, and obtains the path "layout".
2019-09-26 11:10:25 +00:00
015ba79f65 Merge branch 'fix_tests' into reparse 2019-09-11 12:03:24 +00:00
04a47ad0af Merge branch '33-multi-touch-typing-not-yet-working' into 'master'
Resolve "Multi-touch typing not-yet working"

Closes #33

See merge request Librem5/squeekboard!135
2019-09-10 09:15:50 +00:00
99c577be60 Merge remote-tracking branch 'upstream/master' into reparse 2019-09-10 09:11:57 +00:00
aa9523338f Merge branch 'buttonlists' into reparse 2019-09-09 15:11:59 +00:00
0ed66e0eab locked: Use keys instead of buttons 2019-09-09 13:54:55 +00:00
b84c402c4a WIP
WIP

WIP: keymap generation test passes

meta: Update features and version

WiP: cargo.lock

WIP: don't crash

WIP: no outlines

parsing: New tests

WIP: base level works

WIP: remove old keyboard

symbols correctly input

WIP: lodaing files

WIP: fallback works

Valid fallback
2019-09-04 09:44:31 +00:00
c75ed9b230 Merge branch 'kill_tooltip' into 'master'
tooltips: Remove

See merge request Librem5/squeekboard!150
2019-09-02 14:58:02 +00:00
623181cc34 tooltips: Remove 2019-08-31 12:18:55 +00:00
6c0a642abf Store key instead of button in pressed lists 2019-08-31 11:30:51 +00:00
83907af456 Fix code formatting 2019-08-29 14:52:10 +00:00
75992ff13f Check for button position more in Rust
The check against fitting inside the Layout was removed: as an optimization it is unneeded, as the actual search must be optimized to be quick. In addition, the view bounds don't correspond to anything physical as long as negative offsets are allowed.
2019-08-29 12:19:42 +00:00
b9ab4288d7 Try releasing old touches and only letting new ones be dragged 2019-08-28 15:53:57 +00:00
1ae8d072a6 Release buttons directly when unmapping the keyboard 2019-08-27 20:04:11 +00:00
e61a3a6fe8 Remove unnecessary assignment 2019-08-26 21:13:04 +00:00
087da5cd9e Enable and respond to all touch events 2019-08-26 20:57:31 +00:00
a9c7d688fd Fix null pointer dereference 2019-08-26 16:53:57 +02:00
79b66f81ec view: Move button finding to Rust 2019-08-18 13:22:18 +00:00
4e9a8e4afe Move button finding to view 2019-08-18 13:22:18 +00:00
c9a580dc07 Drop keyboard 2019-08-18 13:22:18 +00:00
f479a36dbe keyboard: Remove references 2019-08-18 13:22:18 +00:00
c4b3a0aaaa row: Moved button sizing closer to row 2019-08-18 13:22:18 +00:00
77d4f45d13 section: Elininate references 2019-08-18 13:22:18 +00:00
6fc351d2e8 eekkey: Dropped in favor of Button
Each Button has a KeyState, which may be shared with other buttons. The list of pressed and locked buttons is used as a list of keys, causing a search for the button in the current view.
2019-08-18 13:22:18 +00:00
fc683de434 keyboard: Pass the current view instead of level 2019-08-18 13:20:43 +00:00
d858005a68 Merge branch 'improve-drag-handling' into 'master'
Release each pressed key instead of the current pressed key

See merge request Librem5/squeekboard!125
2019-08-13 12:01:57 +00:00
91d7cc1118 Release each pressed key instead of the current pressed key 2019-08-10 16:11:53 +00:00
cc3f2315a7 Use keyboards as views
Got rid of modifiers in the process. Still buggy: dragging over keys.
2019-08-08 19:56:36 +00:00
f371b14e89 levelkeyboard: Use a layer for managing keyboard views 2019-08-08 19:26:21 +00:00
53b89aae45 symbol: Remove remains 2019-08-08 19:18:29 +00:00
b76e43679e level: Remove level from elements 2019-08-08 19:18:29 +00:00
077ca8fad2 level: Make keyboard the only source of level data 2019-08-08 19:18:29 +00:00
d6b59d16fd Merge branch 'keyboard-signal' into 'master'
gtk-keyboard: Remove unused signal connections

See merge request Librem5/squeekboard!120
2019-08-05 14:27:09 +00:00
537ded4b58 Merge branch 'release-keys-when-focus-is-lost' into 'master'
Release pressed keys when dragging outside the keyboard

See merge request Librem5/squeekboard!119
2019-08-04 11:00:20 +00:00
8298a1412b gtk-keyboard: Remove unused signal connections 2019-08-04 10:23:57 +00:00
0057c80b2e Release pressed keys when dragging outside the keyboard
If no keys are under the touch position when dragging then release all
existing pressed keys. This fixes the problem where the last pressed key
causes events to be sent while the touch position moves outside the
keyboard extent.
2019-08-02 15:31:18 +00:00
64680664e3 Use a CSS provider and style context instead of the old theme support 2019-08-02 17:04:16 +02:00
016c1086e6 Center the keyboard horizontally
Also simplify individual key rendering to make the rendering model more
coherent.
2019-08-02 12:48:35 +02:00
8f1de46381 Simplify layout and rendering
Remove pre-scaling of the bounds for the keyboard and its contents.
Calculate the scale factor based on the allocation and the desired width
and height of each keyboard, using the lower value of the horizontal and
vertical scale factors.
Apply scaling in the renderer and prepare to perform centering there.
2019-07-30 21:48:36 +00:00