Hai bàn phím trên một máy tính. Khi tôi viết bằng AI muốn bố trí bàn phím ở Mỹ, khi tôi sử dụng BI muốn tiếng Thụy Điển. Khả thi?


47

Tôi có một máy tính xách tay mà tôi sử dụng bàn phím ngoài. Khi tôi gõ bằng bàn phím ngoài, tôi muốn sử dụng bố cục bàn phím ở Hoa Kỳ, vì đó là loại bàn phím ngoài mà tôi có. Mặt khác, khi tôi gõ bằng bàn phím tích hợp, tôi muốn sử dụng bố cục của Thụy Điển.

Điều này có thể không? Và làm thế nào tôi sẽ làm điều đó?

Tôi đang hỏi ở đây vì tôi nghĩ chúng ta sẽ tìm thấy hầu hết chuyên môn về Linux ở đây.

Câu trả lời:


41

Đầu tiên, bạn phải tìm ID thiết bị của bàn phím để thay đổi:

$ xinput -list | grep -i 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)]
    ↳ Power Button                              id=7    [slave  keyboard (3)]
    ↳ LITEON Technology USB Keyboard            id=9    [slave  keyboard (3)]
    ↳ LITEON Technology USB Keyboard            id=10   [slave  keyboard (3)]

Sau đó thay đổi bố cục bằng setxkbmap:

$ setxkbmap -device 9 dvorak

Một số phiên bản của setxkbmap cần đối số '-layout':

$ setxkbmap -device 9 -layout dvorak

Xin chào, tôi đã làm điều này và nó hoạt động tuyệt vời cho mọi thứ trừ các phím mũi tên và các phím định hướng khác (không còn hoạt động nữa). Có thể là bàn phím là một trong những bàn phím công thái học có ánh xạ phím thú vị ... có ý tưởng nào để làm cho những cái đó hoạt động trở lại không?
btelles

8
Vì vậy, cách tốt nhất để thiết lập cấu hình này khi khởi động thay vì phải gọi thủ công setxkbmap là gì?
Richard Turner

9

Tôi có thể nói tích cực rằng những gì bạn muốn làm là thực sự có thể. Tôi đã đạt được kịch bản được chỉ định trước

sudo cat /dev/input/event(0,1,2..)

trong khi gõ trên mỗi bàn phím để đảm bảo rằng chúng được nhận dạng là các thiết bị riêng biệt. Sau đó, tôi chỉ đơn giản áp dụng thử và sai, thử nghiệm với

setxkbmap -device (1-x) us.

Tôi phát hiện ra rằng setxkbmap -device 1 uscấu hình cả hai (tất cả) bàn phím, trong khi setxkbmap -device 6 uschỉ ảnh hưởng đến thứ cấp. Liên quan có lẽ là cả hai đều được kết nối thông qua PS / 2.

Điều này tất nhiên không được đảm bảo để làm việc cho bạn và thậm chí không phân loại là một câu trả lời thích hợp, nhưng nó xác nhận rằng nó hoàn toàn có thể. Tôi không biết theo sơ đồ nào mà các bàn phím riêng lẻ được đặt tên /dev/input, nhưng tôi chắc chắn rằng các tên đó có thể được chỉ định trong udev, cho phép đặt setxkbmaplệnh thích hợp vào /etc/rc.localhoặc tương tự.


9

Mặc dù câu hỏi này đã cũ nhưng tôi nghĩ tôi sẽ chia sẻ giải pháp của mình vì không có câu trả lời nào khác giải quyết làm thế nào để công việc này khởi động.

Tình huống của tôi: Tôi có Bàn phím hack hạnh phúc cắm qua usb có các phím được di chuyển xung quanh (kiểm soát vị trí khóa mũ, v.v.). Tôi sử dụng điều này hầu hết thời gian, nhưng đôi khi tôi muốn sử dụng bàn phím máy tính xách tay tiêu chuẩn hoặc bàn phím usb khác. Đối với những bàn phím này, tôi đã tạo ra một bố trí bàn phím tùy chỉnh.

Mẹo nhỏ là không nên áp dụng bố cục bàn phím tùy chỉnh cho Bàn phím hack hạnh phúc.

Giải pháp: Tôi đã tạo một tệp cấu hình Xorg như sau:

$ cat /etc/X11/xorg.conf.d/30-keyboard.conf 
Section "InputClass"
        Identifier "Happily Hacked Keyboard"
        MatchDevicePath "/dev/input/event*"
        MatchIsKeyboard "on"
        Driver "evdev"

        Option "XkbLayout" "us"
        Option "XkbVariant" "hhk"
EndSection

Section "InputClass"
        Identifier "Happy Hacking Keyboard"
        MatchIsKeyboard "on"
        MatchVendor "Topre_Corporation"
        Driver "evdev"

        Option "XkbLayout" "us"
        Option "XkbVariant" "basic"
EndSection

Phần đầu tiên về cơ bản nói cho bất kỳ bàn phím tiêu chuẩn nào, hãy áp dụng bố cục cho chúng tôi với biến thể tùy chỉnh. Phần thứ hai nói về bàn phím hack hạnh phúc, hãy sử dụng bố cục us với biến thể cơ bản.

Bạn có thể kết hợp các thiết bị dựa trên một loạt các tham số: xorg doc


câu trả lời muộn của bạn có thể xứng đáng nhận xét muộn ... bạn có Mã định danh là "Happy Hacking Kbd" trong cả hai ... Tôi nghĩ đó có thể là một sai lầm, Mã định danh InputClass đầu tiên có lẽ phải là "Bàn phím chung"
Daniel

1
@Daniel Các định danh thực sự khác nhau, "Bàn phím bị hack hạnh phúc" so với "Bàn phím
hack

cảm ơn vì sự chính xác ... Tôi đổ lỗi cho kính đọc kém của tôi :)> v
Daniel

... nhưng điều này (đối với bàn phím hoạt động rất tốt, cũng có nhiều cách bố trí khác nhau để xoay vòng là có thể!, như chúng tôi, ru, ua trên một và de, cz, ua trên bàn phím thứ hai) thay đổi cho tôi bằng cách nào đó đã giết chết nút chuột giữa của tôi chuột USB ngoài của tôi. Phải tìm kiếm sự can thiệp là gì ...
Golar Ramblar

Tôi thích nếu giải pháp này hiệu quả với tôi, nhưng nó không hiệu quả - có lẽ vì tôi không thể lấy id nhà cung cấp đúng không? Lệnh "lsusb -v | grep -e idVendor" đã cho tôi "0x09da A4Tech Co., Ltd." vì vậy tôi cũng đã thử các tùy chọn khác nhau (không có hexcode, gạch dưới thay vì khoảng trắng, v.v.). Sau đó, tôi đã thử id nhà cung cấp thu được thông qua "danh sách xinput" và "thông tin udevadm" (A4TECH). Tôi thậm chí đã thay đổi số 30 thành 50 vì tôi có một tệp "/usr/share/X11/xorg.conf.d/40-libinput.conf" bao gồm cả cấu hình bàn phím toàn cầu. Nhưng tôi không thể có được bất cứ điều gì. Có ý kiến ​​nào không? (Ubuntu 18.04)
Sadi

5

Có thể là có thể, đánh giá bằng đối số -device cho setxkbmap:

       thiết bị -device
               Chỉ định id thiết bị số của thiết bị đầu vào là
               cập nhật với bố trí bàn phím mới. Nếu không được chỉ định,
               thiết bị bàn phím lõi của máy chủ X được cập nhật.

Tuy nhiên, tự nhiên, tôi không có bàn phím thứ hai để thử nó vào lúc này.

-Một người dùng Dvorak


Hừm. -device 0 chuyển cả hai, -device 2 (nên là bàn phím trên máy tính theo câu trả lời của Arkenklo) không chuyển đổi bất cứ thứ gì, ít nhất là trên máy tính xách tay và bàn phím USB của tôi.
Tommy McGuire

1

Tôi không nghĩ bạn có thể làm điều này chính xác theo cách bạn muốn. Có hai lựa chọn mà tôi biết:

1) Bạn có thể thực hiện chuyển đổi một lần nhấp chuột / nhấn phím đơn giản.

Với Ubuntu / Gnome:

Click chuột

Trong Ubuntu / Gnome, cung cấp cho bạn thiết lập bố cục đầu vào, đi đến một vị trí trống trên bảng điều khiển của bạn, nhấp chuột phải và nhấp vào 'Thêm vào Bảng điều khiển'. Chọn 'Chỉ số bàn phím' để thêm phần này vào bảng điều khiển. Điều đó sẽ nhập một đoạn văn bản nhỏ cho biết bố cục bàn phím của bạn và bạn có thể nhấp vào đây để chuyển đổi.

Phim tăt

Hệ thống -> Tùy chọn -> Bàn phím -> Bố cục -> Tùy chọn bố cục

Có một tùy chọn có "Khóa (s) để thay đổi bố cục". Bạn có thể đặt nó thành Alt + Shift, không nên làm phiền bất kỳ phím tắt thông thường nào.

Tôi đoán có một cách KDE để làm điều đó cũng.

2) Một lựa chọn khác là http://en.wikipedia.org/wiki/Xneur , nhưng tôi không chắc liệu điều này có sẵn cho tiếng Thụy Điển hay không và có thể các ngôn ngữ có cấu trúc tương tự như tiếng Anh.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.