111 Commits

Author SHA1 Message Date
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
Maarten van Gompel
cc73ab2c7c Makefile: fix for installing man pages 2022-06-17 20:47:15 +02:00
Maarten van Gompel
97fad52ee9 version bump v0.8.1 2022-06-17 19:54:31 +02:00
Maarten van Gompel
c3afabcdce Added manpage to Makefile and updated manpage 2022-06-17 19:52:23 +02:00
Maarten van Gompel
cc81e74997 version bump v0.8 2022-06-14 00:23:11 +02:00
ArenM
11d6924a13 Draw compose key as pressed when compose is enabled
Signed-off-by: Maarten van Gompel <proycon@anaproy.nl>
2022-06-14 00:21:28 +02:00
ArenM
7be30a6a56 Check for surface in display_handle_geometry
Fixes #23

Signed-off-by: Maarten van Gompel <proycon@anaproy.nl>
2022-06-14 00:10:31 +02:00
Maarten van Gompel
94ca075563 reran clang-format 2022-06-13 23:05:14 +02:00
Stacy Harper
88bbdb0c64 Add some math and punctiation symbols from simple grid 2022-06-13 22:47:25 +02:00
Stacy Harper
6ab0361d80 Replace , to - in simple layout 2022-06-13 22:47:13 +02:00
Stacy Harper
c8bd29ecd1 Use a simple transparency value 2022-06-13 22:42:13 +02:00
Stacy Harper
aa258a01dd Reverse nav backspace and whitespace 2022-06-13 22:41:52 +02:00
Brandon Doornbos
e6c7d0ff2a main.c: add a real-time signal for toggling visibility of the keyboard
Previously it was only possible to either show or hide the keyboard.
When you want to control the keyboard with a single button in, i.e.
a window manager, this requires a separate script to keep track of
state. This solves this by only needing one signal to toggle.

Since there are only 2 USR signals, I had to use real-time signals,
which are in the [POSIX
standard](https://standards.ieee.org/standard/1003_1b-1993.html) and
available in the [Linux kernel since
2.2](https://www.man7.org/linux/man-pages/man7/signal.7.html).
2022-06-13 22:18:03 +02:00
Brandon Doornbos
07b9f293c0 Add documentation for using the real-time signal 2022-06-13 22:17:15 +02:00
Maarten van Gompel
1b7f5c4968 Change in maintainership: support both sourcehut and the original github 2022-06-13 22:00:11 +02:00
Dimitris Kardarakos
0a680c0a7a More symbols and layout improvement 2022-06-13 21:58:26 +02:00
Dimitris Kardarakos
a8ba3c02a9 Modern Greek keyboard added 2022-06-13 21:58:19 +02:00
mzeinali
b77f0582fc Add Persian layout 2022-06-13 21:58:09 +02:00
ArenM
35ac0d1d72 Include LDFLAGS from the environment
While working on packageing wvkbd for the aur, I got a warning from
namcap (an arch package verification tool) that RELRO wasn't enabled.
From what I can tell, this is because make was ignoring the LDFLAGS set
by makepkg.
2022-06-13 21:57:55 +02:00
Oğuz Ersen
718d2bdff3 update README.md 2022-06-13 21:57:43 +02:00
Oğuz Ersen
fc0da6aa18 add man page 2022-06-13 21:57:10 +02:00
Zach DeCook
c27f876634 main: prevent crash on sigpipe
This is commonly caused by a bad program in the output chain, e.g.

wvkbd -O | false
2022-06-13 21:56:49 +02:00
Robert Manner
f74fe9a182 layout.mobintl.h: fix hungarian ő and Ő characters
Before this, the bigger one was typed for pressing the smaller,
and vica versa.
2022-06-13 21:56:35 +02:00
Robert Manner
de4b4dcd2e layout.mobintl.h: fix same big/little issue for ų 2022-06-13 21:56:23 +02:00
John Sullivan
849f4600e9 project: rerun clang-format
TODO make a commit or PR hook for this
2022-06-13 21:55:47 +02:00
Zach DeCook
78d2667818 config: update version number 2022-06-13 21:55:32 +02:00
Zach DeCook
905a0d100a version: Output newline 2022-06-13 21:55:15 +02:00
John Sullivan
aa65896fbf keyboard.c: fix update/draw logic in kbd_unpress_key
thanks @0x4261756D @earboxer for pointing out this issue
v0.7
2022-01-09 21:02:46 -08:00
Zach DeCook
bddf05e0fc key drawing: refactor kbd_draw_key v0.6 2022-01-10 03:08:06 +00:00
Zach DeCook
564eb4536a overlapped key output: highlight letters swiped through 2022-01-10 03:08:06 +00:00
Zach DeCook
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
Sam Bowlby
c541c7dbd6 add Georgian layout 2022-01-08 07:53:34 +00:00
Maarten van Gompel
780a83dba5 Fixed erroneous glyphcodes for turkish dotless i and turkish capital I with dot 2022-01-08 07:48:49 +00:00
Maarten van Gompel
6abc005124 added missing abc/sym key to dialer layer v0.5 2021-12-01 10:01:43 -08:00
John Sullivan
35c5f44e3c change config.def.h to include dialer v0.4 2021-11-16 11:04:21 -08:00
Peter John Hartman
4bf9d53a00 Add a dialer layout
Signed-off-by: Stacy Harper <contact@stacyharper.net>
2021-11-16 10:23:29 -08:00
Maarten van Gompel
1562c08a06 added missing sym key to nav layer v0.3 2021-11-01 12:47:25 -07:00
Maarten van Gompel
1bbeb8861e added simple navigation layer 2021-11-01 12:47:25 -07:00
Alexander Brzoska
31f209bcd5 fixed emoji layout 2021-11-01 12:42:46 -07:00