Package Details: squeekboard-git 1.38.0.r17.g74c099d-1

Git Clone URL: https://aur.archlinux.org/squeekboard-git.git (read-only, click to copy)
Package Base: squeekboard-git
Description: Virtual keyboard supporting Wayland, built primarily for the Librem 5 phone
Upstream URL: https://gitlab.gnome.org/World/Phosh/squeekboard
Licenses: GPL3
Conflicts: squeekboard
Provides: squeekboard
Submitter: dos1
Maintainer: TrialnError
Last Packager: TrialnError
Votes: 2
Popularity: 0.94
First Submitted: 2019-07-26 23:42 (UTC)
Last Updated: 2024-04-17 19:10 (UTC)

Required by (2)

Sources (1)

Pinned Comments

electricprism commented on 2024-02-02 05:12 (UTC)

In case it helps anyone I'm using this on Sway and with a Sway Greeter (sway+greetd+regreet)

Here's what I did.

Create a sway rule to disable fullscreen on the regreet app

for_window [app_id="regreet"] fullscreen disable;

exec /home/greeter/sway-keyboard.sh

exec "busctl call --user sm.puri.OSK0 /sm/puri/OSK0 sm.puri.OSK0 SetVisible b true"

And here's the /home/greeter/sway-keyboard.sh -- you can hook this up to a waybar custom icon to invoke the keyboard manually as needed as-well.

#!/bin/bash

# WORKS -- GET KEYBOARD STATE
# https://source.puri.sm/Librem5/virtboard/-/merge_requests/18
# Output as JSON
# busctl --user get-property sm.puri.OSK0 /sm/puri/OSK0 sm.puri.OSK0 Visible -j | jq -r '.data'

# Required **
# ** SqueekBoard honors the gnome "screen-keyboard-enabled" setting.
# ** Either enable this through gnome-settings under accessibility or run:
# ** gsettings set org.gnome.desktop.a11y.applications screen-keyboard-enabled true
gsettings set org.gnome.desktop.a11y.applications screen-keyboard-enabled true

# If any process containing "squeekboard" is RUNNING
# If "squeekboard" is showing

if [[ $(pgrep -f squeekboard) ]] && [[ $(busctl --user get-property sm.puri.OSK0 /sm/puri/OSK0 sm.puri.OSK0 Visible -j | jq -r '.data') == "true" ]]; then

    # Set SqueekBoard to Visible
    # https://source.puri.sm/Librem5/squeekboard/blob/master/README.md#running
    busctl call --user sm.puri.OSK0 /sm/puri/OSK0 sm.puri.OSK0 SetVisible b false

    # Exit Script
    exit
fi

# If any process containing "squeekboard" is RUNNING
# If "squeekboard" is NOT showing

if [[ $(pgrep -f squeekboard) ]] && [[ $(busctl --user get-property sm.puri.OSK0 /sm/puri/OSK0 sm.puri.OSK0 Visible -j | jq -r '.data') == "false" ]]; then

    # Set SqueekBoard to Visible
    # https://source.puri.sm/Librem5/squeekboard/blob/master/README.md#running
    busctl call --user sm.puri.OSK0 /sm/puri/OSK0 sm.puri.OSK0 SetVisible b true

    # Exit Script
    exit
fi

# If anyprocess containing "squeekboard" is NOT RUNNING

if [[ ! $(pgrep -f squeekboard) ]]; then

    # Launch SqueekBoard
    # AS DARK THEME
    env GTK_THEME=Adwaita:dark squeekboard

    # Set SqueekBoard to Visible
    # https://source.puri.sm/Librem5/squeekboard/blob/master/README.md#running
    busctl call --user sm.puri.OSK0 /sm/puri/OSK0 sm.puri.OSK0 SetVisible b true

    # Exit Script
    exit
fi

Latest Comments

electricprism commented on 2024-02-02 05:12 (UTC)

In case it helps anyone I'm using this on Sway and with a Sway Greeter (sway+greetd+regreet)

Here's what I did.

Create a sway rule to disable fullscreen on the regreet app

for_window [app_id="regreet"] fullscreen disable;

exec /home/greeter/sway-keyboard.sh

exec "busctl call --user sm.puri.OSK0 /sm/puri/OSK0 sm.puri.OSK0 SetVisible b true"

And here's the /home/greeter/sway-keyboard.sh -- you can hook this up to a waybar custom icon to invoke the keyboard manually as needed as-well.

#!/bin/bash

# WORKS -- GET KEYBOARD STATE
# https://source.puri.sm/Librem5/virtboard/-/merge_requests/18
# Output as JSON
# busctl --user get-property sm.puri.OSK0 /sm/puri/OSK0 sm.puri.OSK0 Visible -j | jq -r '.data'

# Required **
# ** SqueekBoard honors the gnome "screen-keyboard-enabled" setting.
# ** Either enable this through gnome-settings under accessibility or run:
# ** gsettings set org.gnome.desktop.a11y.applications screen-keyboard-enabled true
gsettings set org.gnome.desktop.a11y.applications screen-keyboard-enabled true

# If any process containing "squeekboard" is RUNNING
# If "squeekboard" is showing

if [[ $(pgrep -f squeekboard) ]] && [[ $(busctl --user get-property sm.puri.OSK0 /sm/puri/OSK0 sm.puri.OSK0 Visible -j | jq -r '.data') == "true" ]]; then

    # Set SqueekBoard to Visible
    # https://source.puri.sm/Librem5/squeekboard/blob/master/README.md#running
    busctl call --user sm.puri.OSK0 /sm/puri/OSK0 sm.puri.OSK0 SetVisible b false

    # Exit Script
    exit
fi

# If any process containing "squeekboard" is RUNNING
# If "squeekboard" is NOT showing

if [[ $(pgrep -f squeekboard) ]] && [[ $(busctl --user get-property sm.puri.OSK0 /sm/puri/OSK0 sm.puri.OSK0 Visible -j | jq -r '.data') == "false" ]]; then

    # Set SqueekBoard to Visible
    # https://source.puri.sm/Librem5/squeekboard/blob/master/README.md#running
    busctl call --user sm.puri.OSK0 /sm/puri/OSK0 sm.puri.OSK0 SetVisible b true

    # Exit Script
    exit
fi

# If anyprocess containing "squeekboard" is NOT RUNNING

if [[ ! $(pgrep -f squeekboard) ]]; then

    # Launch SqueekBoard
    # AS DARK THEME
    env GTK_THEME=Adwaita:dark squeekboard

    # Set SqueekBoard to Visible
    # https://source.puri.sm/Librem5/squeekboard/blob/master/README.md#running
    busctl call --user sm.puri.OSK0 /sm/puri/OSK0 sm.puri.OSK0 SetVisible b true

    # Exit Script
    exit
fi

CoderThomasB commented on 2022-01-16 06:10 (UTC)

The git repo has been moved to https://gitlab.gnome.org/World/Phosh/squeekboard.git/ but it looks like it hasn't been updated here.

MaxVerevkin commented on 2020-06-15 17:35 (UTC)

broken dependency: libfeedback-0.0

PedroHLC commented on 2020-04-06 19:54 (UTC)

Proof that it's missing gnome-desktop, pls add.

Run-time dependency gnome-desktop-3.0 found: NO (tried pkgconfig)

wvffle commented on 2020-02-16 00:07 (UTC)

gnome-desktop dependency is missing

FunctionalHacker commented on 2019-08-04 10:22 (UTC) (edited on 2019-08-04 10:25 (UTC) by FunctionalHacker)

rust needs to be added as a builddep