W odpowiedzi na moje pytanie dotyczące dostosowywania kluczowych mapowań w Wayland odkryłem, że xmodmap
jest to prawdopodobnie przestarzałe, ale xkb „powinno działać” w Wayland. Niestety, xkb jest znacznie bardziej skomplikowany i odpowiednio gorzej udokumentowany. Udało mi się wypracować zwrotek muszę na podstawie informacji z pytaniem o zamianę CmdiCtrl , następne pytanie caps lock , czytając niektóre z linków w odpowiedzi i od moich plików systemowych, ale nie wiem, jak je stosować w sposób, który można zautomatyzować i nie kolidować z GNOME.
Są to zwrotki, które opracowałem i z powodzeniem przetestowałem 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) ]
};
};
Umieszczam pierwsze dwa /usr/share/X11/xkb/symbols/macbook
i trzeci w shiftcaps
tym samym katalogu, a wraz z xkbcomp
etc działają one po załadowaniu na standardowy gb(mac)
układ.
Edytuję to, aby dokonać aktualizacji i wyjaśnić moją odpowiedź. Moje dostosowanie funta niedawno przestało działać, więc sprawdziłem, co zmieniło się w GB (Mac) i zdałem sobie sprawę, że muszę dodać , threesuperior
do key <AE03>
linii.
Myślę, że evdev.xml
jest używany przez gnome-tweak-tool, aby udostępnić te opcje w GUI. Oto co dodałem:
<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>
dconf
kluczowe wartości poniżejorg.gnome.desktop.input-sources
), o ile dodasz je do reguł xkb, których używa twój system, tj. do odpowiednich plików, zobacz mój post tutaj/usr/share/X11/xkb/rules/evdev.xml
. Nie jestem pewien do czego to służy; aplikacja ustawień GNOME zawiesiłaby się podczas otwierania opcji klawiatury, jeśli popełniłem w niej błąd składniowy, ale tak naprawdę nie mogę znaleźć opcji w GUI. Dodałem odpowiednie wiersze po wierszu zawierającym<optionList>
. Nie mogę ich tutaj opublikować z powodu ograniczeń w komentarzach.Odpowiedzi:
Odpowiedź don_crissti na drugie pytanie dostarczyła brakujący element układanki. Zdefiniowałem opcje w plikach evdev zgodnie z opisem i dodałem je do
org.gnome.desktop.input-sources.xkb-options
gsettinga. Działa idealnie.źródło