81041b8035
Merge branch 'wannaphong-master-patch-05164' into 'master'
...
Add thai keyboard
See merge request Librem5/squeekboard!402
2020-11-23 08:17:29 +00:00
ebbb3b1138
UI: Keep visibility factors in a central place
2020-11-18 19:29:42 +00:00
277986bcdf
imservice: Set up UI according to current needs when it shows up
2020-11-18 18:38:24 +00:00
12c9ca1e02
ui: Cancel hiding delay when activity requested again
2020-11-14 06:09:37 +00:00
81fb7e0df3
Update resources.rs
2020-11-01 09:42:27 +00:00
d07b5ed0d6
UI: Delay hiding only when leaving a text field
2020-10-20 11:52:06 +00:00
153f9c39e5
lint: Check for missing braces
...
The `eek/layersurface.c` file should be excluded because it's an imported, "foreign" source, but clang-tidy doesn't seem to have an annotation for that.
An alternative would have been to exclude it in Meson and do the check there, but that requires clang-tidy, raising the barrier to contribute of Squeekboard even more (it already requires libfeedback, which isn't packaged widely).
2020-10-20 11:34:17 +00:00
c0b6ea51fa
enabled: Don't force the keyboard to show when enable is switched
...
This is a bit of a hack: the enable semantics are not finalized yet:
https://source.puri.sm/Librem5/squeekboard/-/issues/238
This prevents the keyboard from appearing over the lock screen at least:
https://source.puri.sm/Librem5/squeekboard/-/merge_requests/397#note_123987
2020-10-20 08:08:55 +00:00
0ed1dd925a
Merge branch 'x11final' into 'master'
...
Use multiple key maps, each of which is acceptable by Xwayland
See merge request Librem5/squeekboard!393
2020-10-19 13:43:12 +00:00
eeb7e252c7
Revert "Add friulian keyboard"
...
This reverts commit 16ccb5fd341fbdeff04b1540f99fe9cbe1c27df1
2020-10-19 08:44:16 +00:00
229b3bac51
tests: Fix bad field access
...
As a result of an automatic merge, a private field was accessed that shouldn't be.
2020-10-14 10:12:57 +00:00
a4e7ad06d3
build: Avoid MaybeUninit on older Debian
2020-10-12 14:14:26 +00:00
db298b0fb8
keymaps: Use multiple key maps, each within the limit of what Xorg can accept.
...
Key maps are switched on key press whenever needed.
2020-10-12 14:14:17 +00:00
4373cf7bc3
keymap: Concentrate special handling of BackSpace, which is implicit in Erase action
2020-10-12 13:57:53 +00:00
2f613ea4c7
Merge branch 'x11_prepare' into 'master'
...
Cleanups leading to Xwayland compatibility
See merge request Librem5/squeekboard!389
2020-10-12 12:45:13 +00:00
8f526bd357
tests: Check for missing return in builtin layouts except emoji
2020-10-12 10:51:23 +00:00
b77b3f7816
vkeyboard: Use a generic slice instead of a vector
2020-10-12 10:51:23 +00:00
87eb775377
keymap: Keep keymap fd management in one place
...
At the same time, reduce the distance between this and the Xwayland handling branch.
2020-10-12 10:50:40 +00:00
f64e5a3627
Merge branch 'multi_ke' into 'master'
...
Improve generation of key maps
See merge request Librem5/squeekboard!388
2020-10-12 09:13:29 +00:00
afd47ef8b4
Merge branch 'optimize-sizing' into 'master'
...
Optimize sizing
See merge request Librem5/squeekboard!390
2020-10-12 08:18:22 +00:00
ef7df433d8
Merge branch 'wide-keyboards' into 'master'
...
Add wide keyboards
See merge request Librem5/squeekboard!391
2020-10-11 14:30:35 +00:00
8e32de86a9
Merge branch 'extend-keys-to-bounding-box' into 'master'
...
Expand key press detection to the edges of the view's bounding box
Closes #191
See merge request Librem5/squeekboard!379
2020-10-11 14:25:03 +00:00
6871452c7b
keyboards: add wide terminal layout
...
This is a copy of the `terminal` layout with modified key dimensions to
fit a wide arrangement.
2020-10-10 01:40:12 +02:00
192824be39
keyboards: add wide Belgian layout
...
This is a copy of the `be` layout with modified key dimensions to fit a
wide arrangement.
2020-10-10 01:38:54 +02:00
938d3c335e
keyboards: add wide French layout
...
This is a copy of the `fr` layout with modified key dimensions to fit a
wide arrangement.
2020-10-10 01:37:57 +02:00
9dd67ad2bc
server-context-service: optimize height calculation
...
Even though proper size management is being worked on, this patch
proposes a simple and easily revertable solution to device-dependent
sizing issues.
First, it provides different calculations based on the display
orientation. In landscape mode, this allows us to have a sensible
keyboard size while leaving enough screen estate for apps to be able to
display useful information.
Then, it gets rid of the weird calculation for display widths between
360 and 540px. While having some continuity is a pleasant idea, in the
real world in doesn't work, as shown by port attempts to other devices:
a 480x800 display (scale 1) would show an unusable 190px-high keyboard
(about half the size of the Librem 5 on-screen keyboard on a device I
own).
Finally, this commit makes sure we never use a hardcoded size.
Tested on the PinePhone, PineTab and Librem 5.
Note: Current behavior is preserved on the L5 in portrait mode, but
keyboard is a bit smaller in landscape mode; this is deliberate, as it
was previously using too much space (causing some apps, such as chatty,
to be unusable).
2020-10-09 16:30:59 +02:00
6ed2a47620
Merge branch 'popover-settings' into 'master'
...
Add settings option to popover
Closes #154
See merge request Librem5/squeekboard!385
2020-10-09 09:18:26 +00:00
4253bf1299
Add settings option to popover
...
Fixes #154
2020-10-09 19:29:48 +11:00
d283ced2ce
Merge branch 'popover-sorting' into 'master'
...
Sort layouts by type before sorting by name
Closes #176
See merge request Librem5/squeekboard!384
2020-10-07 15:23:25 +00:00
8cf6c5f948
syntax: Let older rustc understand symbolmap's lifetime
2020-10-06 10:32:07 +00:00
de3bf54dc9
data: Restore testability of action->keysym conversion
2020-10-06 10:32:07 +00:00
2219eb67e1
keymap: Generate from symbol map, not layout
...
Includes changes to the keymap string without which Xwayland won't work.
2020-10-06 10:31:28 +00:00
93ac94b83f
Sort layouts by type before sorting by name
...
This makes it such that local layouts like emoji and terminal appear
below language layouts.
Fixes #176
2020-10-03 02:10:56 +10:00
72bd265065
alphabetical order for src/resources.rs tests/meson.build
2020-10-01 14:54:22 +02:00
4357052fe7
proposal for belgian layout (copy of fr)
2020-09-30 15:42:31 +02:00
74479ff226
Expand key press detection to the edges of the view's bounding box
...
If you have a keyboard layout like the following:
A B C D
E F G
H I J K
The E and G keys here should be pressed when clicking in the empty space
next to them. This is achieved by not checking the bounding boxes of
each key and instead just using the button and row offset to extend
buttons/rows to the edges of the view. Caching for the size and
position of rows is introduced to simplify implementation and possibly
improve performance.
Fixes #191
2020-09-26 01:37:23 +10:00
60056dcf26
Merge branch 'honor-a11y-setting' into 'master'
...
Honor org.gnome.desktop.a11y.applications screen-keyboard-enabled
Closes #222
See merge request Librem5/squeekboard!370
2020-09-24 06:49:13 +00:00
d93e9c2b11
rust: Fix deprecation warnings
2020-09-21 10:57:01 +00:00
4ccf11f4fd
server-context-service: Don't show keyboard when disabled
...
If the corresponding a11y settings is disbaled don't unfold
the keyboad at all.
This helps e.g. running the same session on laptops or when
an external keyboard is attached.
Closes : #222
2020-09-14 11:34:17 +02:00
6c5df02921
Merge branch 'cleanup' into 'master'
...
A bunch of cleanups
See merge request Librem5/squeekboard!371
2020-09-14 09:26:20 +00:00
820a8b6ca1
Add Ukrainian keyboard layout.
...
Fixes https://source.puri.sm/Librem5/squeekboard/-/issues/223
Signed-off-by: Nazarii Kretovych <nazarii.kretovych@gmail.com >
2020-09-14 08:34:09 +03:00
8bdfb69dc1
server-context-service: swap signal arguments
...
This makes sure 'self' comes first. While at that fix the
function signatures and use ServerContextService directly
and add type checks so it's easy to notice when we messed up.
2020-09-11 20:44:36 +02:00
1e6bcef055
server-context-service: Consistenty name self argument 'self'
...
It's confusing when the object a method acts on is sometimes called
context and sometimes called state. So name it 'self' as we do
in other projects.
2020-09-11 20:05:49 +02:00
97f51591b3
ServerContextService: Drop GObject boilerplate
...
G_DECLARE_FINAL_TYPE does this for us
2020-09-11 18:16:30 +02:00
4228192bda
layout: Fix warning
...
This fixes
warning: unnecessary parentheses around block return value
--> /var/scratch/librem5/squeekboard/src/layout.rs:110:13
|
110 | / (point.x > self.x && point.x < self.x + self.width
111 | | && point.y > self.y && point.y < self.y + self.height)
| |______________________________________________________________________^
|
= note: `#[warn(unused_parens)]` on by default
2020-09-11 18:16:30 +02:00
0f7ab99da3
keyboard: Fix warning
...
warning: unused variable: `name`
--> /var/scratch/librem5/squeekboard/src/keyboard.rs:195:10
|
195 | for (name, state) in keystates.iter() {
| ^^^^ help: consider prefixing with an underscore: `_name`
2020-09-11 18:16:30 +02:00
306c11f1fd
treewide: Use new style function definitions
2020-09-11 18:15:02 +02:00
2f4a652f53
Merge branch 'fixmods' into 'master'
...
virtual_keyboard: Fix desynced modifiers state
See merge request Librem5/squeekboard!362
2020-08-28 11:02:50 +00:00
c87b61d065
Brazilian Portuguese Keyboard Layout.
2020-07-20 09:47:19 +00:00
9512fd8436
virtual_keyboard: Fix desynced modifiers state
...
This ensures that keymap switches leave modifiers and virtual keys in a known state.
2020-07-15 18:08:59 +00:00