Commit Graph

40 Commits

Author SHA1 Message Date
d6439afcb9 Make font selection scheme specific
Add the members font and font_descriptor to struct clr_scheme, so that
it is possible to specify a font for each scheme.

During initialization create the font descriptors for each scheme.

Instead of initially setting the font descriptor when setting up the
buffer, set the font descriptor when drawing the text.

Signed-off-by: Frank Oltmanns <frank@oltmanns.dev>
Signed-off-by: Maarten van Gompel <proycon@anaproy.nl>
2023-10-29 13:07:57 +01:00
6e52be343d Add support for multiple schemes
Allow to use more than two color schemes.

Signed-off-by: Maarten van Gompel <proycon@anaproy.nl>
2023-10-13 21:20:18 +02:00
02027621af Cleanups
This cleanup a bit how we store and use the preferred_scale and
preferred_fractional_scale.

This rename some methods to make their behavior more explicit.
2023-09-18 12:13:43 +02:00
34d6ce5566 Cleanup output management
The goal is to minimize startup redraws.

It looks like the surface must enter the output for us to finaly know
which one it is. We need this to use the correct scale value. It make
the surface to be blurry at first, but I can not find a better way.

Signed-off-by: Willow Barraco <contact@willowbarraco.fr>
Signed-off-by: Maarten van Gompel <proycon@anaproy.nl>
2023-09-08 21:17:36 +02:00
730e97038c Support fractional-scale-v1
This make text less blurry. It continues to works without.

before:
https://dav.missbanal.net/00bd0fd5-e22f-4a60-87f8-ce6f400d33c9.png

after:
https://dav.missbanal.net/a3f02f1e-d6ce-4378-a141-e2093ba87eed.png
Signed-off-by: Willow Barraco <contact@willowbarraco.fr>
Signed-off-by: Maarten van Gompel <proycon@anaproy.nl>
2023-09-08 21:17:31 +02:00
24e354ce9e Add popup to display pressed keys 2023-09-06 15:29:07 +02:00
0ca0409400 refactoring: function for layer switching 2023-08-31 11:39:17 +02:00
2e476c6548 Made 'full' and 'simple' layouts less prone to mistyping and improved layout switching
- The full layout now squashes less keys in a row, to accomplish this
  the semicolon/colon, equal/plus and alt keys had to be sacrificed
  from the full layout (they're on the special/symbols layout still).
- The half-keys in the simple layout are removed, giving a bit more
  space.
- The default total keyboard height has been slightly enlarged (10px)
- The compose key moved down, it was too close to the 'a' (accidental
  presses). The tab key moved to the top-right.
- The spacing between the buttons is slightly larger (aesthetic only)
- The key for layer switching is now labelled more consistently with an icon, and indicates direction of switching with an arrow
- An extra "index" layout was added that can be activated by pressing
  Compose + the next/prev layout button. It has a key for each layout,
  even those not specified at start. This special layout does not appear
  in the normal layer cycling.
- The "Abc" key on secondary layers returns to the last alphabetical layout
- The compose layouts automatically hide when the user presses the space
  where there are no keys, no need to explicitly press the "Abc" key.
2023-08-31 11:39:17 +02:00
b6ec34fe3a fix scaling problem from "support multiple outputs" 2023-08-27 12:12:03 +02:00
dfae590264 keyboard: Allow overriding the layers in landscape mode
Add a new parameter to allow overriding the default list of layers used
in landscape mode. This functionality is not yet used.
2022-10-07 21:02:29 +02:00
bddf05e0fc key drawing: refactor kbd_draw_key 2022-01-10 03:08:06 +00:00
564eb4536a overlapped key output: highlight letters swiped through 2022-01-10 03:08:06 +00:00
2de12a90e4 output: add -O flag to output overlapped keys
the use-case for this is simple 'swipe'-typing:
another program can take the output, guess the word which is being typed, and type the rest of the word
2022-01-10 03:08:06 +00:00
bb1eff09be applied clang-format (no functional changes), but exempted custom include order in keyboard.c and main.c 2021-10-19 23:12:01 -07:00
e100aafb05 Add landscape layers 2021-10-19 23:12:01 -07:00
ff92a92086 refactored keymap loading 2021-10-19 23:12:01 -07:00
b5ec768822 WIP: refactorise keyboard.c 2021-10-19 23:12:01 -07:00
4ce0cf1b53 Better damage tracking 2021-10-19 23:12:01 -07:00
283a758910 Rename var name 2021-10-19 23:12:01 -07:00
fb82daea9c Handle output scaling 2021-10-19 23:12:01 -07:00
c806023fd5 Drop wld and implement our own pangocairo renderer 2021-10-19 23:12:01 -07:00
8fdaaa2b6f fixed layout switching 2021-10-19 23:12:01 -07:00
19213688d1 allow supplying layers through command line parameter or env var 2021-10-19 23:12:01 -07:00
da06f514df implemented printing to stdout 2021-10-19 23:12:01 -07:00
2fd0cfc89c implemented configurable layers 2021-10-19 23:12:01 -07:00
07f153fe32 ran make format 2021-10-19 23:12:01 -07:00
878b16b997 cleanup indentation (tab) 2021-10-19 23:12:01 -07:00
58e52575b6 cleanup 2021-10-19 23:12:01 -07:00
c6ca5832d4 Also release shift after key release 2021-10-19 23:12:01 -07:00
8abc3326df added cyrillic compose layers and made compose work with non-code keys 2021-10-19 23:12:01 -07:00
f59f814c97 added support for an additional colour scheme 2021-10-19 23:12:01 -07:00
20b2dc61c3 implemented support for multiple keymaps 2021-10-19 23:12:01 -07:00
cf77edf11c hide compose layer after unpress 2021-10-19 23:12:01 -07:00
00f288b609 When code_mod is used, allow for resetting modifiers or not (default is not to reset them) 2021-10-19 23:12:01 -07:00
9eee270dfd Simplest key_mood 2021-10-19 23:12:01 -07:00
e58e63f2da Remove dedicated CodeMod 2021-10-19 23:12:01 -07:00
9e4cf69137 Added a compose button, copy type; added compose layouts and further layout updates 2021-10-19 23:12:01 -07:00
0789db751d Add a CodeMod type of key 2021-10-19 23:12:01 -07:00
eab4da9765 Allow more flexible layouts rather than fixed grid and first layout overhaul 2021-10-19 23:12:01 -07:00
590b75b23a Init 2020-09-13 04:44:15 -07:00