💾 Archived View for thatit.be › 2023-02-15-06-22-27.gmi captured on 2023-07-22 at 16:39:52. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2023-06-14)

➡️ Next capture (2023-09-08)

-=-=-=-=-=-=-

config snippets: lisgd & touch

I made reference to these “configs” in a previous note. I use scripts to set up the gesture and touchscreen behavior on my PinePhone Pro.

previous note

Gesture Config

This is the script I use to start/restart the gesture daemon on my PinePhonePro. There could be issues with this script, I have not tested any orientations other than normal and right, content beyond that is a guess.

enable-gestures.sh:

#!/bin/bash

pkill lisgd

ORIENTATION=0

case $(xrandr | grep connected | cut -f2 -d'(' | cut -f1 -d' ') in
    'normal')
        ORIENTATION=0
        ;;
    'right')
        ORIENTATION=1
        ;;
    'left')
        ORIENTATION=2
        ;;
    *)
        ORIENTATION=0
        ;;
esac
lisgd -d /dev/input/event0 -o "$ORIENTATION" \
                           -g '1,DU,B,S,urxvt' \
                           -g '1,UD,T,M,bspc node -c' \
                           -g '1,LR,BL,M,bash ~/bin/touch.sh on' \
                           -g '1,RL,BR,M,bspc ~/bin/touch.sh on' \
                           -g '2,UD,T,M,bspc node -k' \
                           -g '1,UD,T,S,rofi -show window' \
                           -g '1,URDL,T,S,import -screen -window root screenshots/$(date "+%Y-%m-%d_%H:%M:%S").png' \
                           -g '1,LR,L,S,bspc desktop -f prev' \
                           -g '1,RL,L,S,bspc desktop -f next' \
                               &

There is a certain “finicky” aspect of this setup. I like how Rofi can show a window list, so I use that here, but if I don’t have a keyboard plugged in, I can’t actually use Rofi to pick the window I want because it doesn’t understand the up/down power buttons like the patched Dmenu does. So if I mess up the kill gesture, I can end up with a window list that I can’t use unless the touchscreen is also on. I have a binding to “fix” this, sliding my thumb along the bottom of the screen to enable touch, which is also referenced below.

Touch Config

This is the script I use to turn the touchscreen on and off. I call this when the power button is pressed, or when cycling through input methods.

That is, when I turn the screen off, I disable the touchscreen keyboard/mouse, and so if lisgd is running it can act on gestures, but I wont send errant clicks to any windows that might be on screen. A value of on being sent to this script let’s me click on windows and they will receive the click. This includes the on-screen keyboard.

It’s possible to pop up the keyboard and then call this script to shut off the touch layer, and then the keyboard can’t receive clicks any more. This should never happen, but if it does, I have a gesture to re-enable the touch layer by sliding my thumb along the bottom edge of the screen. It should never happen, but if it ever does (and I remember that I have this gesture) I can fix the situation.

This script is hard coded for PinePhone devices, it references the input layer by device description. Technically it would work on anything with that exact description, but this is all current and past PinePhones as of writing this (2023, Feb).

touch.sh:

#!/bin/bash
# script to enable/disable touchscreen

case "${1}" in
    "off")
        xinput --disable "pointer:Goodix Capacitive TouchScreen"
        xinput --disable "keyboard:Goodix Capacitive TouchScreen"
        ;;
    "on")
        xinput --enable "pointer:Goodix Capacitive TouchScreen"
        xinput --enable "keyboard:Goodix Capacitive TouchScreen"
        ;;
esac

Tags

#pinephone

Navigation

index

tags

Backlinks

PinePhone Pro Updates and Configs

updated: 2023-04-20 12:45:34 -0400

generated: 2023-06-03