[Debian-on-mobile-maintainers] [Git][DebianOnMobile-team/squeekboard][upstream/latest] 84 commits: virtual_keyboard: Fix desynced modifiers state

Arnaud Ferraris gitlab at salsa.debian.org
Fri Oct 23 12:06:13 BST 2020

Arnaud Ferraris pushed to branch upstream/latest at Debian On Mobile / squeekboard

9512fd84 by Dorota Czaplejewicz at 2020-07-15T18:08:59+00:00
virtual_keyboard: Fix desynced modifiers state

This ensures that keymap switches leave modifiers and virtual keys in a known state.

- - - - -
e5796d0d by Sebastian Krzyszkowiak at 2020-08-06T15:50:00+00:00
Merge branch 'rel-1.9.3' into 'master'

Document changes and release 1.9.3

Closes #212

See merge request Librem5/squeekboard!369
- - - - -
2f4a652f by Dorota Czaplejewicz at 2020-08-28T11:02:50+00:00
Merge branch 'fixmods' into 'master'

virtual_keyboard: Fix desynced modifiers state

See merge request Librem5/squeekboard!362
- - - - -
c26feed8 by Guido Günther at 2020-09-11T18:14:19+02:00
eekboard-context-service: Return early if schema is unavailable

This also fixes a leak of GSettingsSchema.

- - - - -
306c11f1 by Guido Günther at 2020-09-11T18:15:02+02:00
treewide: Use new style function definitions

- - - - -
9d63b505 by Guido Günther at 2020-09-11T18:15:44+02:00
build: Enable '-Wold-style-definition' '-Wstrict-prototypes'

- - - - -
93e9ce0d by Guido Günther at 2020-09-11T18:16:13+02:00
build: Enable '-Wunused-function'

- - - - -
e15d3174 by Guido Günther at 2020-09-11T18:16:30+02:00
eekboard-context-service: Drop EEKBOARD_CONTEXT_SERVICE_GET_PRIVATE

This fixes the

../eekboard/eekboard-context-service.c:244:13: warning: Deprecated pre-processor symbol, replace with
  244 |     self->priv = EEKBOARD_CONTEXT_SERVICE_GET_PRIVATE(self);

warning and makes us use more modern GObject style

- - - - -
0f7ab99d by Guido Günther at 2020-09-11T18:16:30+02:00
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`

- - - - -
4228192b by Guido Günther at 2020-09-11T18:16:30+02:00
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

- - - - -
bd661bd4 by Guido Günther at 2020-09-11T18:16:30+02:00
gitlab-ci: Enable --Werror

This makes sure we don't have more warnings creeping in

- - - - -
ca68fc20 by Guido Günther at 2020-09-11T18:16:30+02:00
eek-keyboard: Don't ignore return value

This fixes

../eek/eek-keyboard.c:71:5: warning: ignoring return value of ‘getrandom’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   71 |     getrandom(r, 6, GRND_NONBLOCK);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[17/32] Compiling C object 'src/25a6634@@libsqueekboard at sta/.._eek_eek-renderer.c.o'

- - - - -
857a9164 by Guido Günther at 2020-09-11T18:16:30+02:00
build: Enable -Winit-self

No changes needed

- - - - -
b197cd83 by Guido Günther at 2020-09-11T18:16:30+02:00
build: Enable -Wformat-security

No changes needed.

- - - - -
24b6a049 by Guido Günther at 2020-09-11T18:16:30+02:00
build: Enable -Wmaybe-uninitialized

No changes needed.

- - - - -
eb7673d2 by Guido Günther at 2020-09-11T18:16:30+02:00
treewide: Drop redundant declarations

- - - - -
6756fb42 by Guido Günther at 2020-09-11T18:16:30+02:00
build: Enable -Wredundant-declarations

- - - - -
97f51591 by Guido Günther at 2020-09-11T18:16:30+02:00
ServerContextService: Drop GObject boilerplate

G_DECLARE_FINAL_TYPE does this for us

- - - - -
a8b81172 by Guido Günther at 2020-09-11T18:40:56+02:00
build: Enable '-Wformat-nonliteral'

- - - - -
966990ad by Guido Günther at 2020-09-11T18:45:33+02:00
eekboad-context-service: Drop signal class handler

It's unused

- - - - -
3e212dda by Guido Günther at 2020-09-11T18:46:22+02:00
eekboard-context-service: Drop docstrings for inexistent functions

- - - - -
53f30324 by Guido Günther at 2020-09-11T18:55:35+02:00
eekboard-context-service: Drop the GObject boilerplate

The previous commits show it's not really a derivable type
so make it a finale one.

- - - - -
07faf906 by Guido Günther at 2020-09-11T18:55:35+02:00
eekboard-context-service: Drop private struct

There's no point having it for a final type and it only
makes the code harder to read.

- - - - -
1e6bcef0 by Guido Günther at 2020-09-11T20:05:49+02:00
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.

- - - - -
8bdfb69d by Guido Günther at 2020-09-11T20:44:36+02:00
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.

- - - - -
820a8b6c by Nazarii Kretovych at 2020-09-14T08:34:09+03:00
Add Ukrainian keyboard layout.

Fixes https://source.puri.sm/Librem5/squeekboard/-/issues/223

Signed-off-by: Nazarii Kretovych <nazarii.kretovych at gmail.com>
- - - - -
b137e2e3 by Dorota Czaplejewicz at 2020-09-14T07:48:03+00:00
Merge branch 'ukrainian-keyboard-layout' into 'master'

Add Ukrainian keyboard layout

Closes #223

See merge request Librem5/squeekboard!372
- - - - -
6c5df029 by Guido Gunther at 2020-09-14T09:26:20+00:00
Merge branch 'cleanup' into 'master'

A bunch of cleanups

See merge request Librem5/squeekboard!371
- - - - -
4ccf11f4 by Guido Günther at 2020-09-14T11:34:17+02:00
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

- - - - -
d93e9c2b by Dorota Czaplejewicz at 2020-09-21T10:57:01+00:00
rust: Fix deprecation warnings

- - - - -
5580853f by Guido Gunther at 2020-09-21T17:01:51+00:00
Merge branch 'depr' into 'master'

rust: Fix deprecation warnings

See merge request Librem5/squeekboard!374
- - - - -
60056dcf by Dorota Czaplejewicz at 2020-09-24T06:49:13+00:00
Merge branch 'honor-a11y-setting' into 'master'

Honor org.gnome.desktop.a11y.applications screen-keyboard-enabled

Closes #222

See merge request Librem5/squeekboard!370
- - - - -
7aa004ce by Benjamin Schaaf at 2020-09-25T21:44:27+10:00
Fix spelling mistakes in doc/hacking.md

Fixes #217

- - - - -
50fb124b by Dorota Czaplejewicz at 2020-09-25T12:47:17+00:00
Merge branch 'hacking-spelling-fixes' into 'master'

Fix spelling mistakes in doc/hacking.md

Closes #217

See merge request Librem5/squeekboard!378
- - - - -
94bfa92c by Benjamin Schaaf at 2020-09-26T00:34:09+10:00
Expand the development documentation in the readme

Fixes #227

- - - - -
74479ff2 by Benjamin Schaaf at 2020-09-26T01:37:23+10:00
Expand key press detection to the edges of the view's bounding box

If you have a keyboard layout like the following:

 E F G

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

- - - - -
4b825c26 by Dorota Czaplejewicz at 2020-09-26T09:00:51+00:00
Merge branch 'docs-fixes' into 'master'

Expand the development documentation in the readme

Closes #227

See merge request Librem5/squeekboard!377
- - - - -
c16c6865 by Dorota Czaplejewicz at 2020-09-29T13:33:37+00:00
docs: Tutorial syntax cleanups

Promoted bolded "headings" into actual headings, so that they can be linked to.

- - - - -
4357052f by Al at 2020-09-30T15:42:31+02:00
proposal for belgian layout (copy of fr)

- - - - -
07bcaa8e by Dorota Czaplejewicz at 2020-10-01T11:52:53+00:00
docs: Reorganize tutorial

People still ignore adding layouts to builtins and to tests. To unbury that information, and add a sort of checklist, the more interesting info has been moved upwards nd together.

- - - - -
72bd2650 by Al at 2020-10-01T14:54:22+02:00
alphabetical order for src/resources.rs tests/meson.build

- - - - -
ec5570a5 by Dorota Czaplejewicz at 2020-10-01T13:21:49+00:00
Merge branch 'keyboard-layout-belgian' into 'master'

proposal for belgian layout (copy of fr)

See merge request Librem5/squeekboard!382
- - - - -
93ac94b8 by Benjamin Schaaf at 2020-10-03T02:10:56+10:00
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

- - - - -
40850267 by Benjamin Schaaf at 2020-10-03T16:07:36+10:00
Fix leak in level_keyboard_new

xkb_keymap_get_as_string requires that the string it returns is freed by
the caller.

- - - - -
5e43a310 by Benjamin Schaaf at 2020-10-03T16:23:13+10:00
Fix leak endlessly adding a resource path to the default theme

- - - - -
24adba44 by Dorota Czaplejewicz at 2020-10-03T07:38:52+00:00
Merge branch 'leak-fixes' into 'master'

Fix 2 leaks

Closes #148

See merge request Librem5/squeekboard!386
- - - - -
b21734bf by Guido Gunther at 2020-10-06T09:14:56+00:00
Merge branch 'docs-morefixes' into 'master'

docs: Tutorial syntax cleanups, reorganization

See merge request Librem5/squeekboard!381
- - - - -
61400c95 by Dorota Czaplejewicz at 2020-10-06T09:54:17+00:00
build: Error on repeating declarations

- - - - -
2219eb67 by Dorota Czaplejewicz at 2020-10-06T10:31:28+00:00
keymap: Generate from symbol map, not layout

Includes changes to the keymap string without which Xwayland won't work.

- - - - -
de3bf54d by Dorota Czaplejewicz at 2020-10-06T10:32:07+00:00
data: Restore testability of action->keysym conversion

- - - - -
8cf6c5f9 by Dorota Czaplejewicz at 2020-10-06T10:32:07+00:00
syntax: Let older rustc understand symbolmap's lifetime

- - - - -
776c0c5f by Guido Gunther at 2020-10-06T13:35:22+00:00
Merge branch 'flags' into 'master'

build: Error on repeating declarations

See merge request Librem5/squeekboard!387
- - - - -
d283ced2 by Dorota Czaplejewicz at 2020-10-07T15:23:25+00:00
Merge branch 'popover-sorting' into 'master'

Sort layouts by type before sorting by name

Closes #176

See merge request Librem5/squeekboard!384
- - - - -
4253bf12 by Benjamin Schaaf at 2020-10-09T19:29:48+11:00
Add settings option to popover

Fixes #154

- - - - -
6ed2a476 by Guido Gunther at 2020-10-09T09:18:26+00:00
Merge branch 'popover-settings' into 'master'

Add settings option to popover

Closes #154

See merge request Librem5/squeekboard!385
- - - - -
9f4cb3c7 by Arnaud Ferraris at 2020-10-09T16:26:10+02:00
eek-gtk-keyboard: use virtual resolution to check arrangement kind

Using the actual monitor width in pixels can lead to unsatisfying
results, depending on the display orientation and physical size: on a
10" tablet with a 1280x800 resolution (scale 1), portrait orientation
will be using the narrow layout.

If the keyboard is sized in an optimal way (i.e. so the layout fills the
whole area, with no blanks on the sides) this would result in an
unnecessarily huge keyboard being displayed, therefore wasting screen

Using the virtual display size gives a hint about the physical size of
the device, and can be used to select wide layouts even in portrait
mode, while still preserving current behavior on HiDPI devices.

This has been tested on PineTab, PinePhone and Librem 5.

- - - - -
9dd67ad2 by Arnaud Ferraris at 2020-10-09T16:30:59+02:00
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

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).

- - - - -
938d3c33 by Arnaud Ferraris at 2020-10-10T01:37:57+02:00
keyboards: add wide French layout

This is a copy of the `fr` layout with modified key dimensions to fit a 
wide arrangement.

- - - - -
192824be by Arnaud Ferraris at 2020-10-10T01:38:54+02:00
keyboards: add wide Belgian layout

This is a copy of the `be` layout with modified key dimensions to fit a 
wide arrangement.

- - - - -
6871452c by Arnaud Ferraris at 2020-10-10T01:40:12+02:00
keyboards: add wide terminal layout

This is a copy of the `terminal` layout with modified key dimensions to 
fit a wide arrangement.

- - - - -
8e32de86 by Dorota Czaplejewicz at 2020-10-11T14:25:03+00:00
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
- - - - -
ef7df433 by Dorota Czaplejewicz at 2020-10-11T14:30:35+00:00
Merge branch 'wide-keyboards' into 'master'

Add wide keyboards

See merge request Librem5/squeekboard!391
- - - - -
7e38d17c by Dorota Czaplejewicz at 2020-10-11T16:36:16+00:00
debian: Insert a "breaks" for librem5-base < 24

Librem5-base sets the GNOME a11y to true, which solves the invisibility of the keyboard on the phone.

- - - - -
afd47ef8 by Dorota Czaplejewicz at 2020-10-12T08:18:22+00:00
Merge branch 'optimize-sizing' into 'master'

Optimize sizing

See merge request Librem5/squeekboard!390
- - - - -
595bbccf by Guido Gunther at 2020-10-12T09:03:58+00:00
Merge branch 'fix_a11y' into 'master'

debian: Insert a "breaks" for librem5-base < 24

See merge request Librem5/squeekboard!392
- - - - -
f64e5a36 by Guido Gunther at 2020-10-12T09:13:29+00:00
Merge branch 'multi_ke' into 'master'

Improve generation of key maps

See merge request Librem5/squeekboard!388
- - - - -
87eb7753 by Dorota Czaplejewicz at 2020-10-12T10:50:40+00:00
keymap: Keep keymap fd management in one place

At the same time, reduce the distance between this and the Xwayland handling branch.

- - - - -
b77b3f78 by Dorota Czaplejewicz at 2020-10-12T10:51:23+00:00
vkeyboard: Use a generic slice instead of a vector

- - - - -
8f526bd3 by Dorota Czaplejewicz at 2020-10-12T10:51:23+00:00
tests: Check for missing return in builtin layouts except emoji

- - - - -
2f613ea4 by Guido Gunther at 2020-10-12T12:45:13+00:00
Merge branch 'x11_prepare' into 'master'

Cleanups leading to Xwayland compatibility

See merge request Librem5/squeekboard!389
- - - - -
4373cf7b by Dorota Czaplejewicz at 2020-10-12T13:57:53+00:00
keymap: Concentrate special handling of BackSpace, which is implicit in Erase action

- - - - -
db298b0f by Dorota Czaplejewicz at 2020-10-12T14:14:17+00:00
keymaps: Use multiple key maps, each within the limit of what Xorg can accept.

Key maps are switched on key press whenever needed.

- - - - -
a4e7ad06 by Dorota Czaplejewicz at 2020-10-12T14:14:26+00:00
build: Avoid MaybeUninit on older Debian

- - - - -
229b3bac by Dorota Czaplejewicz at 2020-10-14T10:12:57+00:00
tests: Fix bad field access

As a result of an automatic merge, a private field was accessed that shouldn't be.

- - - - -
65425ff9 by Dorota Czaplejewicz at 2020-10-14T10:37:26+00:00
Merge branch 'fix' into 'master'

tests: Fix bad field access

See merge request Librem5/squeekboard!395
- - - - -
eeb7e252 by Fabio Tomat at 2020-10-19T08:44:16+00:00
Revert "Add friulian keyboard"

This reverts commit 16ccb5fd341fbdeff04b1540f99fe9cbe1c27df1

- - - - -
39464f9c by Dorota Czaplejewicz at 2020-10-19T08:44:17+00:00
Merge branch 'master' into 'master'

Add friulian keyboard and langs layout

See merge request Librem5/squeekboard!396
- - - - -
0ed1dd92 by Guido Gunther at 2020-10-19T13:43:12+00:00
Merge branch 'x11final' into 'master'

Use multiple key maps, each of which is acceptable by Xwayland

See merge request Librem5/squeekboard!393
- - - - -
c0b6ea51 by Dorota Czaplejewicz at 2020-10-20T08:08:55+00:00
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:


This prevents the keyboard from appearing over the lock screen at least:


- - - - -
153f9c39 by Dorota Czaplejewicz at 2020-10-20T11:34:17+00:00
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).

- - - - -
a0322f0d by Guido Gunther at 2020-10-21T07:52:59+00:00
Merge branch 'temper_a11y' into 'master'

Temper a11y, lint

See merge request Librem5/squeekboard!399
- - - - -
8bb5c4f1 by Dorota Czaplejewicz at 2020-10-21T08:08:48+00:00
cargo: Update dependencies

- - - - -
c0525946 by Dorota Czaplejewicz at 2020-10-22T10:26:53+00:00
Release version 1.10.0 "Idempotence"

- Xwayland support
- Keys' press zone extends to the side edges of the widget
- Layout popover separates languages from special layouts
- Popover can open settings
- Keyboard is invisible when GNOME accessibility setting is off
- Layout tester checks for presence of Backspace and Return
- Adjusts the keyboard size better to tablet-sized displays
- Friulian keyboard layout
- Ukrainian layout
- Belgian layout
- Wide French layout
- Wide Belgian layout
- Wide terminal layout
- Improved tutorial
- Improved README
- Stricter compilation checks
- Minor fixes

- - - - -
b4475858 by Arnaud Ferraris at 2020-10-23T13:05:49+02:00
Merge tag 'v1.10.0' into upstream/latest

squeekboard v1.10.0

- - - - -

30 changed files:

- .gitlab-ci.yml
- Cargo.lock
- Cargo.toml.in
- + data/keyboards/be.yaml
- + data/keyboards/be_wide.yaml
- + data/keyboards/fr_wide.yaml
- + data/keyboards/it+fur.yaml
- + data/keyboards/terminal_wide.yaml
- + data/keyboards/ua.yaml
- + data/langs/fur-IT.txt
- debian/changelog
- debian/control
- doc/hacking.md
- doc/tutorial.md
- eek/eek-element.h
- eek/eek-gtk-keyboard.c
- eek/eek-gtk-keyboard.h
- eek/eek-keyboard.c
- eek/eek-keyboard.h
- eek/eek-renderer.c
- eek/layersurface.c
- eekboard/eekboard-context-service.c
- eekboard/eekboard-context-service.h
- examples/test_layout.rs
- meson.build
- src/data.rs
- src/keyboard.rs
- src/layout.h
- src/layout.rs

The diff was not included because it is too large.

View it on GitLab: https://salsa.debian.org/DebianOnMobile-team/squeekboard/-/compare/d3661398e21903f33bcd9bcbf71c0d4428abe42b...b44758588ca3a7ea26217a3aaa62cf3bf4f94742

View it on GitLab: https://salsa.debian.org/DebianOnMobile-team/squeekboard/-/compare/d3661398e21903f33bcd9bcbf71c0d4428abe42b...b44758588ca3a7ea26217a3aaa62cf3bf4f94742
You're receiving this email because of your account on salsa.debian.org.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/debian-on-mobile-maintainers/attachments/20201023/88e1edbf/attachment-0001.html>

More information about the Debian-on-mobile-maintainers mailing list