587 Commits

Author SHA1 Message Date
David Boddie
83907af456 Fix code formatting 2019-08-29 14:52:10 +00:00
Dorota Czaplejewicz
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
Dorota Czaplejewicz
2d7dddd505 Merge branch '56-key-stays-pressed-when-the-keyboard-hides-during-a-keypress' into 'master'
Resolve "Key stays pressed when the keyboard hides during a keypress"

Closes #56

See merge request Librem5/squeekboard!138
2019-08-29 11:50:16 +00:00
David Boddie
b9ab4288d7 Try releasing old touches and only letting new ones be dragged 2019-08-28 15:53:57 +00:00
Dorota Czaplejewicz
4a61ab269b layout: Place items using simple loops
The C version of looping over buttons and other items was weakly typed, causing runtime errors, and also C doesn't know how to iterate in abstract, so it was full of callbacks with user-defined data. Moving this to Rust, iteration is made of simple loops, and compile-time type-checked, at the cost of some more verbose code.
2019-08-28 09:41:33 +00:00
David Boddie
1ae8d072a6 Release buttons directly when unmapping the keyboard 2019-08-27 20:04:11 +00:00
David Boddie
e61a3a6fe8 Remove unnecessary assignment 2019-08-26 21:13:04 +00:00
David Boddie
087da5cd9e Enable and respond to all touch events 2019-08-26 20:57:31 +00:00
David Boddie
a9c7d688fd Fix null pointer dereference 2019-08-26 16:53:57 +02:00
Dorota Czaplejewicz
79b66f81ec view: Move button finding to Rust 2019-08-18 13:22:18 +00:00
Dorota Czaplejewicz
e1c57fa9f0 row: Add const 2019-08-18 13:22:18 +00:00
Dorota Czaplejewicz
a64bff6aab button: Add const qualifiers where needed 2019-08-18 13:22:18 +00:00
Dorota Czaplejewicz
4e9a8e4afe Move button finding to view 2019-08-18 13:22:18 +00:00
Dorota Czaplejewicz
c9a580dc07 Drop keyboard 2019-08-18 13:22:18 +00:00
Dorota Czaplejewicz
f479a36dbe keyboard: Remove references 2019-08-18 13:22:18 +00:00
Dorota Czaplejewicz
a7e7e8fb74 element: Removed unused stuff 2019-08-18 13:22:18 +00:00
Dorota Czaplejewicz
e56f1c6392 row: Move button find iteration into row 2019-08-18 13:22:18 +00:00
Dorota Czaplejewicz
c4b3a0aaaa row: Moved button sizing closer to row 2019-08-18 13:22:18 +00:00
Dorota Czaplejewicz
de9c93610b keyboard: Improve docstring 2019-08-18 13:22:18 +00:00
Dorota Czaplejewicz
7a06ac1ee7 keyboard: Remove scale 2019-08-18 13:22:18 +00:00
Dorota Czaplejewicz
f50f8e95b1 Remove unused outline rendering function 2019-08-18 13:22:18 +00:00
Dorota Czaplejewicz
2e201b67a7 Remove obsoleted and unused pieces 2019-08-18 13:22:18 +00:00
Dorota Czaplejewicz
524040cf00 Remove eek-container 2019-08-18 13:22:18 +00:00
Dorota Czaplejewicz
77d4f45d13 section: Elininate references 2019-08-18 13:22:18 +00:00
Dorota Czaplejewicz
0d33179727 section: Moved bounds to row 2019-08-18 13:22:18 +00:00
Dorota Czaplejewicz
4f8de42598 section: Move properties into Row 2019-08-18 13:22:18 +00:00
Dorota Czaplejewicz
3689727fc1 serializable: Remove completely 2019-08-18 13:22:18 +00:00
Dorota Czaplejewicz
fffd82b9be eektext: Remove unused file 2019-08-18 13:22:18 +00:00
Dorota Czaplejewicz
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
Dorota Czaplejewicz
5630cf31f1 section: Remove row 2019-08-18 13:22:18 +00:00
Dorota Czaplejewicz
0c83101b3f container: Drop parent reference 2019-08-18 13:22:17 +00:00
Dorota Czaplejewicz
fc683de434 keyboard: Pass the current view instead of level 2019-08-18 13:20:43 +00:00
Dorota Czaplejewicz
996f681e5c keystate: Removed multiple symbols 2019-08-18 13:20:43 +00:00
Dorota Czaplejewicz
eb118d67fc section: Remove row 2019-08-18 13:20:43 +00:00
Dorota Czaplejewicz
725b36ba79 locking: Move to squeek_key 2019-08-18 13:20:43 +00:00
Dorota Czaplejewicz
1471a61993 locking: Set lock directly on the button 2019-08-18 13:20:43 +00:00
Dorota Czaplejewicz
94a76eedfd Remove marshalers 2019-08-18 13:20:43 +00:00
Dorota Czaplejewicz
8566257a01 keysyms: Remove unused generated files 2019-08-18 13:20:43 +00:00
Dorota Czaplejewicz
f60917e466 symbols: Removed redundant info 2019-08-18 13:20:43 +00:00
Dorota Czaplejewicz
699e785340 Remove unused variables 2019-08-13 12:36:52 +00:00
Dorota Czaplejewicz
6081dc240a modifiers: Remove empty argument 2019-08-13 12:36:14 +00:00
David Boddie
73d2505c89 Do not pass the symbol to the key emitter 2019-08-13 12:24:11 +00:00
David Boddie
8cf39394c5 Update create_key to match the function assigned to it 2019-08-13 12:07:24 +00:00
Dorota Czaplejewicz
ecf6957a6e Merge branch 'fix_num_layouts' into 'master'
views: Don't lay out views that are missing

See merge request Librem5/squeekboard!126
2019-08-13 12:02:07 +00:00
Dorota Czaplejewicz
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
Dorota Czaplejewicz
6309fa8a48 views: Don't lay out views that are missing 2019-08-13 11:59:28 +00:00
David Boddie
91d7cc1118 Release each pressed key instead of the current pressed key 2019-08-10 16:11:53 +00:00
Dorota Czaplejewicz
a072755cee layout: Use show_symbols instead of shift 2019-08-08 20:04:44 +00:00
Dorota Czaplejewicz
1cfec4de50 key: Share state between multiple keys 2019-08-08 20:04:38 +00:00
Dorota Czaplejewicz
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