gnome-gitlab guidog/phosh-osk-stub v0.32.0

latest releases: v0.43_rc1, next-20241031.0851.e43edd870, v0.42.0...
13 months ago

Summary of changes

  • Initial support for Malayalam via Manglish using govarnam
  • Avoid margins on the left and right of the OSK on wider displays
    (but don't grow over a certain width)
  • Generate keymaps for layouts on the fly. This allows us to support
    non US layouts in virtual-keyboard mode.
  • Generate keymaps for character popovers on the fly. This allows us
    to support non US layouts in virtual-keyboard mode.
  • Deduplicate listening for input method changes and more internal rework
    for better vk-driver and completer support.
  • Contributors:
    • Guido Günther
    • Kai Lüke
    • Subin Siby

Detailed changes

phosh-osk-stub (0.32.0) experimental; urgency=medium
.
  [ Guido Günther ]
  * build: Bump meson to 0.58.0.
    Avoids warning due to str.replace usage
  * build: Avoid get_pkgconfig_variable.
    Silences another meson warning
  * vk-driver: Add 'delete'
    Closes: https://gitlab.gnome.org/guidog/phosh-osk-stub/-/issues/11
  * Add varnam based completer.
    The config is currently hardcoded and uses 'ml' as language.
  * input-surface: Fix comment.
    It was lacking the one most important word
  * virtual-keyboard: Push keymap selection upwards into the vk-driver.
    This allows us to sync it with the keycodes sent.
  * vk-driver: Only update keymap when it changed
  * osk-widget: Add xkb keymap layout-id.
    This allows us to keep keymaps in sync
  * input-surface: Switch keymap when switching layout.
    Closes: https://gitlab.gnome.org/guidog/phosh-osk-stub/-/issues/15
  * input-surface: Add doc string for keyboard-driver
  * vk-driver: Allow AltGr as modifier
  * vk-driver: Don't hardcode us keycodes.
    Set them based on the keymap.
  * vk-driver: Add German layout.
    Closes: https://gitlab.gnome.org/guidog/phosh-osk-stub/-/issues/12
  * input-surface: Scale up to 1024px.
    This makes for less empty space on wider displays
  * README: Mention varnam.
    We'll expand on that after switching to govarnam
    and landing more bits.
  * docs: Mention varnam based completer
  * key: Include enums.
    Helps clang
  * vk-driver: Allow to set an overlay keymap.
    This creates a temporary keymap with the provided symbols.
  * osk-widget: Emit signal when character popover is shown or hidden
  * input-surface: Proxy popover symbols to vk driver.
    Closes: https://gitlab.gnome.org/guidog/phosh-osk-stub/-/issues/18
  * vk-driver: Don't listen for input source changes.
    Continuing from f5bb966b4b6cd33ed7661198beca8ea80359e13b where we pushed
    listening to input-source changes from the virtual_keyboard to the
    vk_driver we can now remove it there too and just invoke
    pos_vk_driver_set_keymap().
    This avoids listening for the same setting in two places and will also
    allow us to pass more information from the osk in use.
  * osk-widget: Allow to get symbols of the current layout
  * vk-driver: Create keymaps on the fly.
    The keymap is built on the fly avoiding keys that chromium thinks it can
    interpret as evdev keycodes.
    This way we can get more layouts to work in virtual keyboard mode like
    Ukranian.
    Closes: https://gitlab.gnome.org/guidog/phosh-osk-stub/-/issues/19
  * vk-driver: Drop handcrafted de layout.
    We only keep the us layout for the moment as this is useful for the
    terminal layout.
  * input-surface: Use "terminal" as layout_id for the Termian layout.
    This is basically the only reason why we keep the built in keymap.
  * vk-driver: Use the built-in keymap for the terminal layout.
    Instead of hoping for the best when switching keymaps use the built-in
    keymap for the terminal layout. This decouple us completely from the
    system keymaps.
    We can look into generating this one as well at a later point.
  * vk-driver: Add last missing symbols
    ℅, ®, ©, ¢, €, ¥, and ™ are on the terminal layout but weren't in the keymap.
  * input-surface: Split keymap and completion language setting.
    This makes the code easier to follow and we also don't fail
    to set an initial keymap.
  * doc: Mention virtual keyboard mode.
    Mention the limitations and advantages of using it as input-method.
  * input-method: Free the full im state.
    Otherwise we leak the surrounding text
  * completers/hunspell: Don't leak completions
  * osk-key: Don't leak symbols
  * vk-driver: Try harder to get an event code.
    If it's not in the table use GDK's reverse mapping function.
    Closes: https://gitlab.gnome.org/guidog/phosh-osk-stub/-/issues/21
  * vk-driver: Minimize GDK mapping table.
    We keep the regular letters to not e.g. swap Z and Y when the German
    layout is active.
.
  [ Kai Lüke ]
  * layouts: Prefer capital eszett over double S as German capitalization.
    The ezsett character didn't have a capitalization in fonts for long
    time and thus double S was used instead. Since some years a proper
    unicode capitalization is available and can be used instead (see
    https://en.wikipedia.org/wiki/%C3%9F#Development_of_a_capital_form).
    Prefer the new capital eszett but still offer the double S as second
    alternative.
.
  [ Subin Siby ]
  * Use govarnam instead of deprecated libvarnam

Required versions of other projects

  • gtk3 >= 3.24.35 (Otherwise surrounding text and preedit will be off)

Patches that are merged upstream but not yet in a released version:

Recommended versions of related projects

Don't miss a new phosh-osk-stub release

NewReleases is sending notifications on new releases.