Commit Graph

189 Commits

Author SHA1 Message Date
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
63c209ec7f Regression fix: keyboard didn't re-show on SIGUSR2 anymore
When triggering show() on kill USR2, everything works as expected, but
the keyboard attributes are the same as before. So in
layer_surface_configure, we don't match the condition.

Checking hidden, and resetting it from inside this scope is enough to
solve the problem.
2023-09-18 12:13:34 +02:00
eefd08f431 version bump v0.14 2023-09-16 12:36:04 +02:00
76b64f6a85 Fix builds 2023-09-08 23:26:42 +02:00
a152fd036f Break on function definitions 2023-09-08 23:14:40 +02:00
1a36f6d5f2 Add an editor config 2023-09-08 23:14:40 +02:00
fbbf563d70 Simplest clang-format 2023-09-08 22:57:14 +02:00
2747980a4e clang-format 2023-09-08 22:42:49 +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
7af5410235 Disable cairo antialiasing
This is unoticeable without fractional scaling, but becore a real
problem with it. It add transparency arround rectangles, and so cause
drawing problems.

Signed-off-by: Willow Barraco <contact@willowbarraco.fr>
Signed-off-by: Maarten van Gompel <proycon@anaproy.nl>
2023-09-08 21:17:34 +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
50296daa46 fix missing initializations in previous commit
Signed-off-by: Maarten van Gompel <proycon@anaproy.nl>
2023-09-06 23:19:31 +02:00
21045044ba fix seat_handle_capabilities
seat_handle_capabilities may be called more than once with different caps.
In the current implementation, wl_{pointer,touch}_add_listener can be
called multiple times for the same seat, causing the buttons to be pressed
more than once in a single tap.
This commit implements seat_handle_capabilities correctly and
avoids setting duplicate handlers, and also handles the removal of capabilities.

Signed-off-by: Maarten van Gompel <proycon@anaproy.nl>
2023-09-06 23:19:31 +02:00
9e03e120c3 switch layers: fix crash
Signed-off-by: Maarten van Gompel <proycon@anaproy.nl>
2023-09-06 23:14:30 +02:00
24e354ce9e Add popup to display pressed keys 2023-09-06 15:29:07 +02:00
b1890848d5 Remove surface commits where it is unecessary and wrong 2023-09-06 14:25:40 +02:00
8bdc761d9b Bump protocols 2023-09-06 11:35:34 +02:00
fa659b4584 Remove black boxes
This isn't a good way to solve this, and cause restrictions and
breakages.

We should find a better way to enforce text inside of keys, probably
using a second buffer to write into.
2023-09-01 08:11:31 +02:00
3752d0e392 Fix remaining too long text cases 2023-08-31 22:25:11 +02:00
4444c6e664 Prevent writing outside of key without ellipsize 2023-08-31 22:03:51 +02:00
8f7142b171 Remove ellipsize now that we crop text outside of keys 2023-08-31 21:27:02 +02:00
975bd2ec32 Fix Ctrl feedback while being clicked 2023-08-31 18:41:41 +02:00
47a45d557b Fix black box on Shift press
Drawing key will redraw the bg at the right side. As we already
propagated the surface damage, this cause a rewrite of the right side of
the layout.
2023-08-31 18:37:58 +02:00
c45446a794 Do not write texts outside of keys
This is a bit hacky. The main problem is that there is no way to tell
cairo to limit the width. It will wrap text accordingly to width and
height, it will add ellipsizes if it overlow the box, but if a word
width is larger than the box width, it will write it.

To avoid that, I make sure we don't go too much to the left, and I
redraw the background at the right of the keys. This is not visible
cause we damage track correctly the updated buffer coordinates.

I also moved the damage tracking from do_rectangle and draw_text to
higher draw_key and draw_layout.
2023-08-31 18:04:26 +02:00
73130886cc fixup: use narrow no-break-space and changed the key label 2023-08-31 13:27:54 +02:00
67ef1d40f3 Add non-breaking space to compose punctuation 2023-08-31 12:38:35 +02:00
50c40863b8 Add . from compose punctuation now that we removed the bottom bar 2023-08-31 12:07:21 +02:00
d75d42aaa1 Add back ctrl on bracket layout 2023-08-31 12:04:08 +02:00
84020a9151 compose + , on simple layout open bracket/quote layout
This deviates from the rest a bit but we need an ability to trigger this
layout. compose + -  is still available for the 'math' layout.
2023-08-31 12:03:59 +02:00
3504f83ca6 Cleanup bracked compose layout 2023-08-31 12:00:22 +02:00
fda7007955 updated screenshots 2023-08-31 11:59:17 +02:00
9687d839f9 Drop simple grid 2023-08-31 11:41:20 +02:00
dc7ee664f0 No transparency by default
The virtual keyboard can't cover other surface. Only the wallpaper could
eventually go through it, or conky. Let's make a fancy default now that
--alpha exists for users that want the old transparency.
2023-08-31 11:41:20 +02:00
db44029d87 Add --alpha to configure all alpha color values 2023-08-31 11:41:20 +02:00
4ed89188d6 Do not override user config.h 2023-08-31 11:41:19 +02:00
a573be707c version bump 2023-08-31 11:41:01 +02:00
dcca9e48c7 Fix compose , from Simple to move to punctuations
Signed-off-by: Willow Barraco <contact@willowbarraco.fr>
Signed-off-by: Maarten van Gompel <proycon@anaproy.nl>
2023-08-31 11:39:17 +02:00
ca9b028795 Cleaning up remaining compose layouts
This strip everything that isn't the key we come for, Shift and Abc.

Signed-off-by: Willow Barraco <contact@willowbarraco.fr>
Signed-off-by: Maarten van Gompel <proycon@anaproy.nl>
2023-08-31 11:39:17 +02:00
29e32edf5c shift + space = tab
This is implemented not in the keymap but as a hack in wvkbd itself,
the keymap would output shift + tab otherwise.
2023-08-31 11:39:17 +02:00
17863cdabc removed/revised bottom row on compose layouts
most compose layouts are more minimalistic don't have space/backspace/enter anymore, pressing
a key will close the layout anyway. All layouts retain an Abc button
, even though tapping any non-key will close the layout just as well.

Some compose layouts have added modifiers (ctrl, alt, super) in the
bottom row
2023-08-31 11:39:17 +02:00
8c6baa800b revised keyboard switch icons to also work on small keys 2023-08-31 11:39:17 +02:00
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
bfcd3527dd scroll wheel switches layers (as opposed to crashing as it did before) 2023-08-31 11:39:17 +02:00
0ca0409400 refactoring: function for layer switching 2023-08-31 11:39:17 +02:00
f402af96fa added dedicated symbols layout for landscape mode 2023-08-31 11:39:17 +02:00
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
46f4515477 fixes and safety checks in layer switching 2023-08-31 11:39:17 +02:00
6101db15b9 fix: reordered layouts 2023-08-31 11:39:17 +02:00
848e836713 added hebrew layout (based on initial work by Schimon Jehudah) 2023-08-31 11:39:17 +02:00
8bffc1adc3 added tab key to common compose layouts 2023-08-31 11:39:17 +02:00