149 Commits

Author SHA1 Message Date
Maarten van Gompel
8c6baa800b revised keyboard switch icons to also work on small keys 2023-08-31 11:39:17 +02:00
Maarten van Gompel
81e5c01a22 added a full wide layout and revised the layout index
This is basically the same as the old 'full' layout, the new 'full'
layout removed some keys to reduce width. But on bigger devices like
tablets the old full layout was fine.
2023-08-31 11:39:17 +02:00
Maarten van Gompel
bfcd3527dd scroll wheel switches layers (as opposed to crashing as it did before) 2023-08-31 11:39:17 +02:00
Maarten van Gompel
0ca0409400 refactoring: function for layer switching 2023-08-31 11:39:17 +02:00
Maarten van Gompel
f402af96fa added dedicated symbols layout for landscape mode 2023-08-31 11:39:17 +02:00
Maarten van Gompel
74695835ad minimal default layers
No need to have all layouts in the layers anymore, all layouts can be
accessed through Cmp + space / Cmp + layout switch button. Users are
encouraged to set `-l` and/or `--landscape-layers` to set their own
preference.
2023-08-31 11:39:17 +02:00
Maarten van Gompel
46f4515477 fixes and safety checks in layer switching 2023-08-31 11:39:17 +02:00
Maarten van Gompel
6101db15b9 fix: reordered layouts 2023-08-31 11:39:17 +02:00
Maarten van Gompel
848e836713 added hebrew layout (based on initial work by Schimon Jehudah) 2023-08-31 11:39:17 +02:00
Maarten van Gompel
8bffc1adc3 added tab key to common compose layouts 2023-08-31 11:39:17 +02:00
Maarten van Gompel
68ea69944d changed default font to sans instead of mono.
This conserves some space on certain keycaps and has better(/bigger)
icons than the default monospace font on sxmo
2023-08-31 11:39:17 +02:00
Maarten van Gompel
9134b0e8f6 expanded README with section about compose button behaviour 2023-08-31 11:39:17 +02:00
Maarten van Gompel
f52345aaef more consistent compose behaviour across layouts
* compose + "." opens up punctuation layout
* compose + ","/"-" opens up math layout
* compose + "'"/0/9 opens up bracket layout
2023-08-31 11:39:17 +02:00
Maarten van Gompel
048e25d660 revising landscape keyboard to be more consistent with the other layouts 2023-08-31 11:39:17 +02:00
Maarten van Gompel
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
Maarten van Gompel
b6ec34fe3a fix scaling problem from "support multiple outputs" 2023-08-27 12:12:03 +02:00
mojyack
79797fc837 support multiple outputs 2023-08-26 12:48:45 +02:00
Maarten van Gompel
83edf203a7 fix incorrect keymap size and trailing 0 bytes when setting keymap
Ref: https://github.com/jjsullivan5196/wvkbd/issues/35
Signed-off-by: Anjandev Momi <anjan@momi.ca>
2023-05-08 20:08:16 -07:00
Zach DeCook
98e6c43d54 specialpad: a new 4x10 layout like a numpad
More compact than 'special',
made to complement 'simple'.

Works well for both 'nav' and 'dialer' uses.

Signed-off-by: Anjandev Momi <anjan@momi.ca>
2023-04-29 23:40:17 -07:00
Zach DeCook
2d84f0e241 simple: add comma
Signed-off-by: Anjandev Momi <anjan@momi.ca>
2023-04-29 23:40:17 -07:00
CrafterSvK
a2b5b78051 Switched mismatched position of 'ľ' and 'Ľ'
Signed-off-by: Maarten van Gompel <proycon@anaproy.nl>
v0.13
2023-02-03 20:52:20 +01:00
ArenM
b32509163d layout: fix open parenthesis on landscape layout
This key had the wrong type, which was preventing it from sending a
character.

Signed-off-by: Maarten van Gompel <proycon@anaproy.nl>
2022-11-26 00:08:18 +01:00
Stacy Harper
8bdd7418a8
version bump v0.12 2022-11-16 11:01:03 +01:00
Stacy Harper
1f3e6f681f
Fix dialer numeric pound key 2022-11-15 16:07:58 +01:00
Maarten van Gompel
bcd0880dd5 version bump 2022-10-29 17:26:17 +02:00
Zach DeCook
031ec135d0 remove committed file 2022-10-29 17:22:35 +02:00
Maarten van Gompel
1577b2f742 version bump prior to release v0.11 2022-10-07 21:04:46 +02:00
Patrick Steinhardt
9bbc8d4a99 main: Allow user to override layers in landscape mode
Add a new parameter `--landscape-layers` as well as an environment
variable `WVKBD_LANDSCAPE_LAYERS` that allows the user to override the
default set of layers in landscape mode. This complements the existing
`-l` parameter and `WVKBD_LAYERS` environment variable, which do the
equivalent for non-landscape mode.

Furthermore, add documentation for the new switch. Move the `-l`
parameter to the bottom so we don't have to realign all parameters and
so all layer-related parameters are grouped together.
2022-10-07 21:02:29 +02:00
Patrick Steinhardt
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
Patrick Steinhardt
7fe983af16 keyboard: Extract logic to parse keyboard layer list
The user can optionally override the list of keyboard layers compiled
into the executable. Right now this only works for non-landscape mode
though.

Pull out the logic to parse the list of keyboard layers so that we can
reuse it to also optionally override layers in landscape mode.
2022-10-07 21:02:29 +02:00
Emmanuel LE TRONG
acf38cf46e Add a --list-layers option
To get a list of available layers for the -l option.

Signed-off-by: Emmanuel LE TRONG <emmanuel.le-trong@cnrs-orleans.fr>
Signed-off-by: Maarten van Gompel <proycon@anaproy.nl>
v0.10
2022-08-16 17:29:50 +02:00
Maarten van Gompel
7af52d695d version bump 2022-07-27 18:41:48 +02:00
Maarten van Gompel
f446bf9147 fixup: code indentation fixes after last patch 2022-07-27 18:39:11 +02:00
Ghassan Alduraibi
e29b029308 add: args to customize keyboard colors (takes rrggbb or rrggbbaa values) add: function to set keyboard colors from rrggbb or rrggbbaa values fix: handle empty font arg
Signed-off-by: Maarten van Gompel <proycon@anaproy.nl>
2022-07-27 18:30:11 +02:00
Maarten van Gompel
12c0d67f41 version bump prior to release v0.9 2022-07-26 22:04:22 +02:00
Ghassan Alduraibi
5de2fcc39d fix: arabic key layout
Signed-off-by: Maarten van Gompel <proycon@anaproy.nl>
2022-07-25 10:54:20 +02:00
Maarten van Gompel
a10b504cda allow modifiers with next layer button to switch to first/previous layer
- shift (or capslock) switch to the previous layer in the defined order
- control, alt or compose resets the view to the first layer

related fix: compose key resets on layer switch (doesn't stick now)
2022-07-15 22:03:27 +02:00
Zach DeCook
14f0f0824b shift key: change icon when shifted
Signed-off-by: Maarten van Gompel <proycon@anaproy.nl>
2022-07-10 22:57:55 +02:00
Zach DeCook
f9bf42129a border: display around all sides
(not just top and left edges)

Signed-off-by: Maarten van Gompel <proycon@anaproy.nl>
2022-07-10 22:52:22 +02:00
Zach DeCook
0cd0d5e1a1 layout: Implement spacing better
to no longer need overscan

Signed-off-by: Maarten van Gompel <proycon@anaproy.nl>
2022-07-10 22:52:22 +02:00
ArenM
1843e60a74 only commit surface when it changed
Previously wvkbd would commit an (usually) unchanged surface at the
framerate of the compositor, this only commits the buffer when we render
something new.

Signed-off-by: Maarten van Gompel <proycon@anaproy.nl>
2022-07-05 22:13:21 +02:00
ArenM
a2cacb7e25 use signalfd instead of signal
Switch to using signalfds because using the signal syscall was causing
problems without the frame callbacks (the change in the next commit), I
think this is because it would end up with multiple tasks polling the
same wayland file descriptor.

Previously this would exit after the second SIGPIPE signal. I checked
with earboxer on irc, and confirmed that handling all occurrences is the
correct behavior.

Signed-off-by: Maarten van Gompel <proycon@anaproy.nl>
2022-07-05 22:12:54 +02:00
ArenM
dbe1e01fe9 call show instead of duplicating in startshidden check
Signed-off-by: Maarten van Gompel <proycon@anaproy.nl>
2022-07-05 22:12:48 +02:00
ArenM
c1b95f2700 reset layer index on rotation
If there are more layers in one orientation than the other this can
cause wvkbd to overshoot the end of the layer list when switching
layers. It also means that switching layers after rotating will jump to
the next layer in the list, which is somewhat unexpected.

Signed-off-by: Maarten van Gompel <proycon@anaproy.nl>
2022-07-05 18:08:14 +02:00
ArenM
9d6696fb23 call kbd_resize when showing
Since layer_surface_configure was changed to only call kbd_resize when
an output dimension changed, kbd_resize doesn't get called if the
keyboard was hidden and is being shown again, meaning it doesn't tell
the compositor about the scale.

This causes it to only output the top-right quarter of the keybaord
stretched to the entire window size after a SIGUSR1 + SIGUSR2 cycle with
the display scale set to 2.

Signed-off-by: Maarten van Gompel <proycon@anaproy.nl>
2022-07-05 18:08:06 +02:00
ArenM
f540cf36fa Use output dimensions to detect landscape mode
Most displays are in landscape mode by default, so checking to see if
it's rotated will produce the exact opposite of the expected results.

Signed-off-by: Maarten van Gompel <proycon@anaproy.nl>
2022-07-05 18:08:02 +02:00
Peter John Hartman
b974877be4 Add + sign in dialer. 2022-07-05 06:39:23 -05:00
Maarten van Gompel
6d34f5af59 version bump 2022-06-25 15:21:43 +02:00
Zach DeCook
22ff01fb8b Keyboard: Avoid unnecessary resizes
Signed-off-by: Maarten van Gompel <proycon@anaproy.nl>
2022-06-25 15:19:33 +02:00
Maarten van Gompel
28c24749ba version bump: previous version had Makefile issues v0.8.2 2022-06-17 20:48:08 +02:00