Oddzielna klawiatura do skrótów na Linuksie (dwie klawiatury, dwa układy)

2

Mam dwie klawiatury: starą ps / 2 i usb. Chcę, aby klawiatura usb miała układ z nami (lub lepiej, żeby klawiatura usb postępowała zgodnie z układem wybranym w gnome), a ps / 2, aby mieć własny układ (skróty i inne rzeczy: D). Próbowałem ustawić oddzielne układy na każdej klawiaturze w czasie wykonywania, używając setxkbmap -device 8 -layout ru (rosyjski układ do testowania), ale to ustawia układ na wszystkich klawiaturach na rosyjski.

philippe@tnw:~$ xinput -list
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ MOSART Semi. Wireless Keyboard & Mouse    id=9    [slave  pointer  (2)]
⎜   ↳ Logitech USB Receiver                     id=10   [slave  pointer  (2)]
⎜   ↳ Logitech USB Receiver                     id=11   [slave  pointer  (2)]
⎣ Virtual core keyboard                     id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Power Button                              id=7    [slave  keyboard (3)]
    ↳ MOSART Semi. Wireless Keyboard & Mouse    id=8    [slave  keyboard (3)]
    ↳ Eee PC WMI hotkeys                        id=12   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=13   [slave  keyboard (3)]

Edytować: Znaleziono część odpowiedzi: Gdy określisz układ urządzenia, musisz uwzględnić wszystkie układy, które chcesz na całym sprzęcie. Więc jeśli chcę rosyjskiego na urządzeniu 2 i amerykańskim angielskim na 3, to muszę użyć "ru, us" podczas określania układu dla urządzenia 2 i nas, ru dla urządzenia 3. Podoba mi się to.

setxkbmap -device 2 -layout ru,us
setxkbmap -device 3 -layout us,ru

Nadal muszę to uzyskać na starcie i stworzyć własny układ. Pomoc z tym byłaby bardzo mile widziana.

tehwalris
źródło

Odpowiedzi:

4

Musisz użyć

xinput --create-master SecondKeyboard

aby utworzyć oddzielną klawiaturę główną, a następnie ponownie podłącz drugą klawiaturę do nowego wzorca:

xinput --reattach „Keyboard Id” „Master Id”

Używasz identyfikatorów z

xinput - lista

W ten sposób klawiatury są oddzielne i można je traktować wyłącznie. Na przykład. masz dwa ogniska, możesz pisać w dwóch aplikacjach jednocześnie z dwoma klawiaturami i ustawiać różne mapowania kluczy, określając różne identyfikatory główne w takich rzeczach jak setxkbmap.

Nohus
źródło