Last Updated on October 23, 2023 by pg@petergamma.org
Link to the original thread:
https://forum.pine64.org/showthread.php?tid=16750
- 07-10-2022, 01:42 PM
- This post was last modified: 07-18-2022, 10:27 AM by pifou.
- Edit Reason: correction )
- @Peter
- Below is what I did when after the latest updates and OS upgrades lost (completely in Mobian and partially in PostmarketOS) the PPKC functionality.
- The kb151 kernel module is not present anymore in either OS after all the above.
- It will get some top row functionality back.
- These are the fixes for PostmarketOS.
- I used this wiki page for inspiration:
https://wiki.mobian-project.org/doku.php…ccessories
Step 1
- I changed the “kb151” to in “/sys/bus/i2c/drivers/kb151/2-0015” to “pinephone-keyboard” as below
/sys/bus/i2c/drivers/pinephone-keyboard/2-0015 - In my home dir I created the “bin” subdir and in it I put the “kbd-external.sh” script.
- Make sure it’s executable.
Code:
mkdir bin
bin/kbd-external.sh
chmod +x bin/kbd-external.sh
kbd-external.sh
Code:
!/usr/bin/env bash
a11y is “a one one y” aka a-eleven-y aka accessibility
Turns off onscreen keyboard when PPKC is present
Disable vibration
- if [ -L “/sys/bus/i2c/drivers/pinephone-keyboard/2-0015” ];
- then
- gsettings set org.gnome.desktop.a11y.applications screen-keyboard-enabled false
else
- gsettings set org.gnome.desktop.a11y.applications screen-keyboard-enabled true
fi
return status
- echo “org.gnome.desktop.a11y.applications screen-keyboard-enabled is:”
- gsettings get org.gnome.desktop.a11y.applications screen-keyboard-enabled
- disable vibration on mouse and key presses
- gsettings set org.sigxcpu.feedback profile silent
- echo “org.sigxcpu.feedback profile is:”
- gsettings get org.sigxcpu.feedback profile
Step 2
- Then, add this to “~/.config/autostart/kbd-external.desktop”
- kbd-external.desktop
Code:
[Desktop Entry]
Name=Keyboard
Type=Application
Icon=object-rotate-left-symbolic
Exec=/home/user/bin/kbd-external.sh
Categories=Utility;
NoDisplay=true
Step 3
- In my case this was already the case but if it isn’t, make sure that XKB_DEFAULT_MODEL env variable is ppkb
echo $XKB_DEFAULT_MODEL
- should return
ppkb
- If NOT, add the following to /etc/systemd/system/phosh.service.d/override.conf:
- override.conf
Code:
[Service]
Environment=XKB_DEFAULT_MODEL=ppkb
Step 4
- In the Settings app in “Phosh -> Settings -> Keyboard -> Alternate Characters Key” select “Left Super”
- to have the pinecone key act as Fn used to for the TOP ROW ONLY: Pinecone-[0-9]
- The Fn key still worked/works for the arrow, Home, End keys.
- Try setting some other special keys if you prefer something else as modifier.
Link to the original text in the Pine64 forum: