Gnome Tweak Tools 키보드 레이아웃 옵션 - Bluetooth 키보드에만 설정하시겠습니까?

Gnome Tweak Tools 키보드 레이아웃 옵션 - Bluetooth 키보드에만 설정하시겠습니까?

귀찮은 외부 Apple 매직 키보드를 사용할 때 Tweak Tools에서 다음과 같은 유용한 설정을 활성화했습니다.

여기에 이미지 설명을 입력하세요

이 설정은 내 보기의 키보드 기능을 정상적으로 만듭니다(수퍼 키는 컨트롤 키 오른쪽에 있음).

그러나 조정 도구의 이 설정은 내 노트북 ​​자체 키맵에도 영향을 미칩니다. 이 짜증나는 외부 Apple 매직 키보드에만 이 설정을 지정할 수 있나요?

답변1

를 사용할 수 xkbcomp있으며 자세한 프로세스가 설명되어 있습니다.여기. 다시 매핑할 키의 코드를 찾아야 합니다. 동일한 OP의 다른 답변이 유용할 수 있습니다.

xkeycaps도움이 될 수 있습니다.

관련된>

  1. 특정 키나 장치를 어떻게 다시 매핑합니까?
  2. https://dev.to/0xbf/remap-keys-in-the-keyboard-in-ubuntu-5a36
  3. http://www.fascinatingcaptain.com/projects/remap-keyboard-keys-for-ubuntu/
  4. (Pablo Bianchi의 댓글)https://superuser.com/questions/277990/how-do-i-swap-alt-and-windows-keys-with-xmodmap
  5. (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

그러면 끝났습니다.

관련 정보