Inleiding
Soms krijg je dingen cadeau waar je niet om hebt gevraagd. In dit geval was het een zogenaamde Copilot-toets op het toetsenbord van een splinternieuwe laptop. Het zou een handige sneltoets moeten zijn voor het starten van Microsofts KI-assistent. Gezien het feit dat ik GNU/Linux gebruik, heeft de toets voor mij geen functie.
In heel uitzonderlijke gevallen biedt de leverancier van een computer of toetsenbord specifieke aanpassingen zoals een Tux-toest in plaats van de toets met het Windows-logo, ook wel Super- of Meta-toets genoemd. Maar dan moet je wel geluk hebben. Voor deze specifieke 'nieuwe' toets zijn er nog geen alternatieven.
Op zich hoeft een nutteloze of ongebruikte toets geen probleem te zijn, maar in mijn geval zat hij precies op de plek waar voorheen de Menu-toets zat. Dat is een makkelijke manier om een context-menu te openen van datgene wat op dat moment geselecteerd is, of waar de cursor staat. Je kunt bijvoorbeeld snel 'Openen met…' in bestandsbeheer.
Oplossing: keyd
Na behoorlijk wat zoekwerk vond ik een mogelijkheid om onder Linux bestaande
toetsen of toetscombinaties om te schrijven. keyd
is een systeembrede
service die op de achtergrond met de kernel communiceert. Dit is onafhankelijk
van de gebruikte desktop-omgeving (GNOME, KDE, etc.) of display-server (Wayland,
X11.org).
Het installeren van keyd
was 1-2-3 geregeld (zie installatie instructies).
Toen moest ik op zoek naar welke toetscode de Copilot-toets naar de kernel stuurde.
En daarna uitdokteren naar welke toets(-combinatie) dat moest worden omgeschreven.
Monitor
Met sudo keyd monitor
kreeg ik de volgende output als ik één keer op de
Copilot-toets drukte:
AT Translated Set 2 keyboard 0001:0001:d651c513 leftmeta down
AT Translated Set 2 keyboard 0001:0001:d651c513 leftshift down
AT Translated Set 2 keyboard 0001:0001:d651c513 f23 down
AT Translated Set 2 keyboard 0001:0001:d651c513 leftmeta up
AT Translated Set 2 keyboard 0001:0001:d651c513 leftshift up
AT Translated Set 2 keyboard 0001:0001:d651c513 f23 up
Een combinatie van Super + Shift + F23..? Ik wist niet eens dat er méér dan 12 functietoetsen bestonden!
Configuratie
Met behulp van de documentatie en voorbeelden van keyd
had ik de basis van de
configuratie gauw klaar:
cat <<EOL | sudo tee /etc/keyd/default.conf
[ids]
*
[main]
f23+leftshift+leftmeta = menu
EOL
sudo systemctl restart keyd.service
Hiermee wordt de genoemde combinatie omgeschreven naar de Menu-toest. Dat was toch precies wat ik wilde?
Adder onder het gras
Het contextmenu verscheen nog steeds niet. Onderzoek met keyd monitor
gaf aan
dat de menu-toets wel degelijk (virtueel) werd ingedrukt in plaats van de rare
combinatie. So far, so good. Maar waarom verscheen dat contextmenu nou niet?
Dankzij een beantwoorde vraag van een eerdere keyd
-gebruiker koos ik
in plaats van menu
voor compose
. En waarempel - het contextmenu verscheen!
Voor mij graag Nopilot in plaats van Copilot :-).
[main]
f23+leftshift+leftmeta = compose