Commit Graph

400 Commits

Author SHA1 Message Date
Dorota Czaplejewicz
521796a46d deps: Remove bitflags
This removes the need to use a modified copy and makes running tests easier.
2019-09-09 19:00:40 +00:00
Dorota Czaplejewicz
a187221d3f Convert nb layout to yaml 2019-09-09 16:35:21 +00:00
Dorota Czaplejewicz
583b546e81 Fix CI error 2019-09-09 15:49:25 +00:00
Dorota Czaplejewicz
aa9523338f Merge branch 'buttonlists' into reparse 2019-09-09 15:11:59 +00:00
Dorota Czaplejewicz
0ed66e0eab locked: Use keys instead of buttons 2019-09-09 13:54:55 +00:00
Dorota Czaplejewicz
6523275b6a views: Change based on layout file 2019-09-09 13:25:03 +00:00
David Boddie
b9e9ca368a Merge branch 'cargo' into 'master'
rust: Use Cargo to build the Rust portion

See merge request Librem5/squeekboard!147
2019-09-07 17:52:24 +00:00
Dorota Czaplejewicz
26d1a6047c Merge branch 'fixes' into reparse 2019-09-04 10:18:53 +00:00
Dorota Czaplejewicz
60a89b6c3f Merge branch 'wrapping' into reparse 2019-09-04 10:01:22 +00:00
Dorota Czaplejewicz
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
David Boddie
789e8b6bff Merge branch 'buttonlists' into 'master'
Buttonlists

See merge request Librem5/squeekboard!145
2019-09-02 14:42:19 +00:00
Dorota Czaplejewicz
baabcb1400 layout: Remove unused C functions 2019-09-01 11:42:02 +00:00
Dorota Czaplejewicz
6c0a642abf Store key instead of button in pressed lists 2019-08-31 11:30:51 +00:00
Dorota Czaplejewicz
3413021d30 rust: Use Cargo to build the Rust portion
Pros: Ability to use Rust libraries from crates.io
Problems: Need to lock library versions and document their reproducible building, either via Cargo.lock or vendoring.
2019-08-30 09:00:34 +00:00
Dorota Czaplejewicz
878b7ed18e ffi: Use a generic wrapper for opaque Rust structs 2019-08-29 13:33:04 +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
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
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
f479a36dbe keyboard: Remove references 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
7caf2ef86d row: Less dense placing of buttons 2019-08-18 13:22:18 +00:00
Dorota Czaplejewicz
86b72d2723 row: Move generic functions out of the C ghetto 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
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
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
b70afbe9eb keystate: Wrap in refconuter 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
725b36ba79 locking: Move to squeek_key 2019-08-18 13:20:43 +00:00
Dorota Czaplejewicz
94a76eedfd Remove marshalers 2019-08-18 13:20:43 +00:00
Dorota Czaplejewicz
1cfec4de50 key: Share state between multiple keys 2019-08-08 20:04:38 +00:00
Dorota Czaplejewicz
f371b14e89 levelkeyboard: Use a layer for managing keyboard views 2019-08-08 19:26:21 +00:00
Dorota Czaplejewicz
0b6935e50c keystate: Use keycode 2019-08-08 19:18:29 +00:00
Dorota Czaplejewicz
fb93e25833 eekkey: Moved state to KeyState 2019-08-08 19:18:29 +00:00
Dorota Czaplejewicz
ad86cb531a symbol: Store symbols instead of pointers 2019-08-08 19:18:29 +00:00
Dorota Czaplejewicz
53b89aae45 symbol: Remove remains 2019-08-08 19:18:29 +00:00
Dorota Czaplejewicz
23d5f18d4a symbols matrix: Remove in favor of a levels vector 2019-08-08 19:18:28 +00:00
Dorota Czaplejewicz
38f81e45f4 Break out symbol handling into Rust 2019-08-08 12:51:15 +00:00
David Boddie
87dd9b4374 Remove references to the removed theme classes 2019-08-02 17:04:16 +02:00
Dorota Czaplejewicz
778543c719 rust: Add a call to Rust test framework 2019-07-31 11:20:57 +00:00
Dorota Czaplejewicz
18b8972029 bitflags: Use absolute imports
With relative import of the bitflags crate, the macros would try to fetch nonexistent paths, preventing tests form compiling.
2019-07-31 11:13:24 +00:00
Dorota Czaplejewicz
fa31f8eee1 imservice: Check pointer validity 2019-07-31 10:43:39 +00:00
Dorota Czaplejewicz
98a2e33d78 imservice: Use TryFrom for u32->enum conversions 2019-07-31 10:05:35 +00:00
Dorota Czaplejewicz
58d01bf502 imservice: Use discriminants in enums 2019-07-31 10:05:35 +00:00