Дві клавіатури, дві макети


16

Я хочу підключити до комп’ютера два набори клавіатури. Чи можна встановити кожного для певної мови. Так що не потрібно щоразу міняти мову.

Наприклад:

  • клавіатура 1 тип рос

  • клавіатура 2 типи англ

Відповіді:


15

Використовуючи xinputта setxkbmapутиліти, ви можете встановити з терміналу так, щоб кожна клавіатура мала інший макет.

По-перше, використовуючи xinput -list | grep keyкоманду, ви повинні знайти ідентифікатор пристрою кожної клавіатури. Ось приклад (мій випадок):

$ xinput -list | grep key
 Virtual core keyboard                         id=3    [master keyboard (2)]
     Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
     Power Button                              id=6    [slave  keyboard (3)]
     Video Bus                                 id=7    [slave  keyboard (3)]
     Power Button                              id=8    [slave  keyboard (3)]
     Sleep Button                              id=9    [slave  keyboard (3)]
     2.4GHz 2way RF Receiver                   id=10   [slave  keyboard (3)]
     HP Webcam                                 id=12   [slave  keyboard (3)]
     AT Translated Set 2 keyboard              id=13   [slave  keyboard (3)]
     HP WMI hotkeys                            id=15   [slave  keyboard (3)]
       USB Keyboard                            id=16   [slave  keyboard (3)]
       USB Keyboard                            id=17   [slave  keyboard (3)]

І по-друге, використовуючи setxkbmap -device <key_ID> -layout <layout_name>, встановіть макет, який ви бажаєте для кожної клавіатури. Приклад (для моїх клавіатур):

setxkbmap -device 3 -layout ro    #My master keyboard is set to Romanian layout
setxkbmap -device 10 -layout us   #The keyboard with id=10 is set to English (US) layout
setxkbmap -device 16 -layout ru   #The keyboard with id=16 is set to EFor Russian layout

Чудово. Працює. Спасибі. Може бути окремим питанням. Але чи є спосіб відстежувати їх у плазмовому робочому столі за допомогою якоїсь піктограми, що показує макет для кожної клавіатури ?!
nano - зливай мене

@MinimusHeximus Це окреме питання, і я думаю, що просту відповідь у коментарі до вашого питання важко зробити. Отже, будь ласка, скористайтесь кнопкою задати питання .
Radu Rădeanu

Спасибі. Я можу попросити, але бути інформативним: зараз звичайна піктограма мови абсолютно непримітна в Плазмі. btw, рішення в єдності вітається (що я ще не перевіряв).
nano - зливай мене

1
@MinimusHeximus Ну, це рішення має працювати в будь-якому робочому столі Ubuntu . І я тестував на Unity.
Radu Rădeanu

3
Дякую за цю відповідь, яка надихнула мене на відповідне запитання: Як назавжди призначити іншу розкладку клавіатури USB-клавіатурі? Здається, для цього мені знадобиться сценарій запуску. Перший список xinput | grep "Клавіатура USB" надасть мені ідентифікатори пристрою (різні при кожному запуску). Мені потрібна інша команда, щоб вирізати перший ідентифікаційний номер, а потім використати його тут: setxkbmap -device <NUMBER> -layout <LAYOUT>
Sadi

6

Трохи поза темою, але якщо ви додатково використовуєте цю -variantопцію, ви можете набрати дворак на одній клавіатурі та workman або qwerty або будь-який інший макет на іншій клавіатурі.

setxkbmap -verbose -device 17 -layout us -variant dvorak

Парне програмування на стероїди!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.