![Gnome Tweak Tools 키보드 레이아웃 옵션 - Bluetooth 키보드에만 설정하시겠습니까?](https://rvso.com/image/1071706/Gnome%20Tweak%20Tools%20%ED%82%A4%EB%B3%B4%EB%93%9C%20%EB%A0%88%EC%9D%B4%EC%95%84%EC%9B%83%20%EC%98%B5%EC%85%98%20-%20Bluetooth%20%ED%82%A4%EB%B3%B4%EB%93%9C%EC%97%90%EB%A7%8C%20%EC%84%A4%EC%A0%95%ED%95%98%EC%8B%9C%EA%B2%A0%EC%8A%B5%EB%8B%88%EA%B9%8C%3F.png)
답변1
를 사용할 수 xkbcomp
있으며 자세한 프로세스가 설명되어 있습니다.여기. 다시 매핑할 키의 코드를 찾아야 합니다. 동일한 OP의 다른 답변이 유용할 수 있습니다.
xkeycaps
도움이 될 수 있습니다.
관련된>
- 특정 키나 장치를 어떻게 다시 매핑합니까?
- https://dev.to/0xbf/remap-keys-in-the-keyboard-in-ubuntu-5a36
- http://www.fascinatingcaptain.com/projects/remap-keyboard-keys-for-ubuntu/
- (Pablo Bianchi의 댓글)https://superuser.com/questions/277990/how-do-i-swap-alt-and-windows-keys-with-xmodmap
- (Pablo Bianchi의 댓글)https://unix.stackexchange.com/questions/86933/swap-alt-and-super
답변2
이것은 완전성이 부족하기 때문에 전체적으로 #!^ 답변과 같습니다. 그러나 setxkbmap을 사용하여 특정 키보드에 키 교환 옵션을 할당하겠습니다.
xinput
키보드의 ID를 알려줄 것입니다
wutang@shaolin:~$ xinput
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ VirtualBox mouse integration id=9 [slave pointer (2)]
⎜ ↳ VirtualBox USB Tablet id=10 [slave pointer (2)]
⎜ ↳ ImExPS/2 Generic Explorer Mouse id=12 [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)]
↳ Sleep Button id=7 [slave keyboard (3)]
↳ Video Bus id=8 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=11 [slave keyboard (3)]
전체 공개 나는 극도로 게으르고 테스트한 두 번째 키보드를 통과하기 위해 가상을 방해하지 않으며 실제로 2개의 키보드를 표시하는 호스트(-->VM)에서 잘라서 붙여넣도록 설정하지 않아 훨씬 더 게으릅니다. .(s#!^ 답변)
따라서 내 출력에 고유한 ID를 가진 두 번째 키보드가 있다고 상상하면 됩니다.
키보드 중 하나만 변경하려는 경우(AT Translated Set 2 키보드):
setxkbmap -device 11 -option altwin:swap_lalt_lwin
나는 이것이 영구적이지 않다고 가정하겠습니다. 키보드를 분리하거나 로그아웃하거나 전원을 끄면 사라질 수 있습니다.
옵션을 제공하지 않고 -option 플래그를 사용하면 모든 옵션이 제거됩니다.
답변3
알고 보니 내 동료도 같은 문제를 겪었습니다. 그의 허락을 받아 즉시 효과가 있었던 해결책은 다음과 같습니다.
먼저 이것을 실행하고 키보드 실행에 대한 정보로 스크롤하십시오.cat /proc/bus/input/devices | less
I: Bus=0005 Vendor=004c Product=026c Version=0160
N: Name="Magic Keyboard with Numeric Keypad"
P: Phys=44:e5:17:96:76:24
S: Sysfs=/devices/pci0000:00/0000:00:14.0/usb3/3-10/3-10:1.0/bluetooth/hci0/hci0:256/0005:004C:026C.0007/input/input38
U: Uniq=c4:14:11:03:c2:de
H: Handlers=sysrq kbd event20 leds
B: PROP=0
B: EV=120013
B: KEY=10000 0 0 1 1007b00001007 ff9f207ac14057ff ffbeffdfffefffff fffffffffffffffe
B: MSC=10
B: LED=1f
이제 다음과 같은 방법으로 ID를 구성하십시오.
evdev:input:b<bus_id>v<vendor_id>p<product_id>e<version_id>-<modalias>
버전과 양식이 중요하지 않은 경우. 나는 이것을 얻습니다 :
evdev:input:b0005v004Cp026C*
다음으로 이 파일을 만듭니다.
etc/udev/hwdb.d/60-applekeyboard.hwdb
이름은 중요하지 않은 것 같은데 잘 모르겠습니다.
파일에는 방금 만든 ID와 키 다시 매핑이 포함되어야 합니다.
# Apple magic
evdev:input:b0005v004Cp026C*
KEYBOARD_KEY_700e2=leftmeta
KEYBOARD_KEY_700e3=leftalt
이름은 어떻게 찾나요? sudo evtest
키보드를 찾아서 변경하려는 키를 누르 십시오 . 출력은 다음과 같습니다.
Event: time 1644400418.762658, type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e3
Event: time 1644400418.762658, type 1 (EV_KEY), code 56 (KEY_LEFTMETA), value 1
해당 출력을 사용하여 원하는 키를 구성하고 변경합니다.
다음으로 sudo는 다음 명령을 실행하여 업데이트합니다.
systemd-hwdb update
udevadm control --reload-rules
udevadm trigger
그러면 끝났습니다.