Tôi muốn kết nối hai bộ bàn phím với máy tính của tôi. Có thể đặt từng ngôn ngữ cụ thể. Vì vậy, không cần phải thay đổi ngôn ngữ mỗi lần.
Ví dụ:
bàn phím 1 loại tiếng Nga
bàn phím 2 loại tiếng anh
Tôi muốn kết nối hai bộ bàn phím với máy tính của tôi. Có thể đặt từng ngôn ngữ cụ thể. Vì vậy, không cần phải thay đổi ngôn ngữ mỗi lần.
Ví dụ:
bàn phím 1 loại tiếng Nga
bàn phím 2 loại tiếng anh
Câu trả lời:
Sử dụng xinput
và setxkbmap
tiện ích, bạn có thể thiết lập từ thiết bị đầu cuối để mỗi bàn phím có bố cục khác nhau.
Đầu tiên, sử dụng xinput -list | grep key
lệnh, bạn phải tìm ID thiết bị của từng bàn phím. Đây là một ví dụ (trường hợp của tôi):
$ 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)]
Và thứ hai, bằng cách sử dụng setxkbmap -device <key_ID> -layout <layout_name>
, đặt bố cục mà bạn muốn cho mỗi bàn phím. Một ví dụ (cho bàn phím của tôi):
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
Hơi lạc đề, nhưng nếu bạn sử dụng thêm -variant
tùy chọn, bạn có thể nhập dvorak trên một bàn phím và công nhân hoặc qwerty hoặc bất kỳ bố cục nào khác trên bàn phím khác.
setxkbmap -verbose -device 17 -layout us -variant dvorak
Lập trình cặp trên steroid!