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
Dorota Czaplejewicz
8326bd7016
rust: Create a root file for modules
...
The new `lib.rs` file is created to refer to all modules written in Rust. This way, only one `rustc` call is needed to compile an arbitrary amount of modules. It also converges with the way crates are structured.
2019-07-31 10:05:27 +00:00