In seguito alla mia domanda sulla personalizzazione delle mappature dei tasti in Wayland, ho scoperto che xmodmap
è apparentemente deprecato, ma xkb "dovrebbe funzionare" in Wayland. Sfortunatamente, xkb è molto più complicato e corrispondentemente più scarsamente documentato. Sono riuscito a elaborare le stanze di cui ho bisogno in base alle informazioni da una domanda sullo scambio CmdeCtrl , un'altra domanda di blocco maiuscole , leggendo alcuni dei collegamenti nelle risposte e dai miei file di sistema, ma non so come applicarli in un modo che può essere automatizzato e non in conflitto con GNOME.
Queste sono le stanze che ho elaborato e testate con successo xkbcomp
.
partial alphanumeric_keys
xkb_symbols "pound" {
// Put sterling on RAlt-3 and numbersign on Shift-3.
key <AE03> { [ 3, numbersign, sterling, threesuperior ] };
};
// Make right cmd key act as ctrl
partial modifier_keys
xkb_symbols "rcmdctrl" {
key <RWIN> { [ Control_R ] };
modifier_map Control { <LCTL>, <RWIN> };
modifier_map Mod4 { <LWIN> };
};
partial modifier_keys
xkb_symbols "shiftcaps" {
key <CAPS> {
type[Group1] = "TWO_LEVEL",
symbols[Group1] = [ VoidSymbol, Caps_Lock ],
actions[Group1] = [ NoAction(), LockMods(modifiers=Lock) ]
};
};
Ho inserito i primi due /usr/share/X11/xkb/symbols/macbook
e il terzo nella shiftcaps
stessa directory e con xkbcomp
etc funzionano quando caricati sopra il gb(mac)
layout standard .
Sto modificando questo per fare un aggiornamento e chiarire la mia risposta. Di recente la mia personalizzazione della sterlina ha smesso di funzionare, quindi ho controllato cosa era cambiato in gb (mac) e mi sono reso conto che dovevo aggiungere , threesuperior
alla key <AE03>
linea.
Penso che evdev.xml
sia usato da gnome-tweak-tool per rendere disponibili queste opzioni nella GUI. Ecco cosa ho aggiunto:
<group allowMultipleSelection="true">
<configItem>
<name>macbook</name>
<description>Macbook customisations</description>
</configItem>
<option>
<configItem>
<name>macbook:pound</name>
<description>Hash on Shift-3, Sterling on AltGr-3</description>
</configItem>
</option>
<option>
<configItem>
<name>macbook:rcmdctrl</name>
<description>Right Cmd key acts as Ctrl</description>
</configItem>
</option>
</group>
<group allowMultipleSelection="false">
<configItem>
<name>shiftcaps</name>
<description>Caps Lock with Shift</description>
</configItem>
<option>
<configItem>
<name>shiftcaps:shiftcaps</name>
<description>Caps Lock requires Shift to toggle</description>
</configItem>
</option>
</group>
/usr/share/X11/xkb/rules/evdev.xml
. Non sono sicuro a cosa serva; l'app delle impostazioni di GNOME si arresterebbe in modo anomalo quando si aprivano le opzioni della tastiera se avessi fatto un errore di sintassi, ma in realtà non riuscivo a trovare le opzioni nella GUI. Ho aggiunto le righe appropriate dopo la riga contenente <optionList>
. Non posso pubblicarli qui a causa delle limitazioni sui commenti.
dconf
valori chiave sottoorg.gnome.desktop.input-sources
) fintanto che le aggiungi alle regole xkb che il tuo sistema sta usando, cioè ai file giusti, vedi il mio post qui