![Opciones de distribución del teclado de Gnome Tweak Tools: ¿configuradas solo para teclado Bluetooth?](https://rvso.com/image/1071706/Opciones%20de%20distribuci%C3%B3n%20del%20teclado%20de%20Gnome%20Tweak%20Tools%3A%20%C2%BFconfiguradas%20solo%20para%20teclado%20Bluetooth%3F.png)
Tengo esta útil configuración habilitada en Tweak Tools cuando uso un molesto teclado mágico externo de Apple:
Esta configuración hace que, en mi opinión, la función del teclado sea normal (la supertecla está a la derecha de la tecla de control).
Sin embargo, esta configuración en la herramienta de ajuste también afecta el mapa de teclas de mi computadora portátil. ¿Puedo de alguna manera hacer esta configuración sólo para este molesto teclado mágico externo de Apple?
Respuesta1
Podrías utilizar xkbcomp
, y se describe el proceso detallado.aquí. Tienes que encontrar los códigos de las claves que se van a reasignar. Otras respuestas en el mismo OP podrían resultar útiles.
xkeycaps
puede resultar útil.
Relacionado>
- ¿Cómo reasigno ciertas claves o dispositivos?
- https://dev.to/0xbf/remap-keys-in-the-keyboard-in-ubuntu-5a36
- http://www.fascinatingcaptain.com/projects/remap-keyboard-keys-for-ubuntu/
- (En comentario de Pablo Bianchi)https://superuser.com/questions/277990/cómo-intercambio-alt-and-windows-keys-with-xmodmap
- (En comentario de Pablo Bianchi)https://unix.stackexchange.com/questions/86933/swap-alt-and-super
Respuesta2
Esto, en su conjunto, es una respuesta #!^, debido a que no está completa, pero simplemente asignaría la opción de intercambio de teclas al teclado específico con setxkbmap.
xinput
te dará la identificación de tu teclado
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)]
Revelación completa: estoy siendo extremadamente vago y no estoy molestando mi virtual para pasar el segundo teclado con el que he probado, y aún más vago al no configurar para cortar y pegar desde el host (-->VM) que en realidad muestra los 2 teclados. .(s#!^ respuesta)
así que sólo tienes que imaginar que hay un segundo teclado en mi salida con una identificación única
Si solo voy a modificar uno de mis teclados (teclado AT Translated Set 2):
setxkbmap -device 11 -option altwin:swap_lalt_lwin
Voy a asumir que esto no es permanente; probablemente desaparezca si desconecta el teclado, cierra la sesión o lo apaga.
El indicador -option sin proporcionar una opción elimina todas las opciones.
Respuesta3
Resulta que mi compañero de trabajo tuvo el mismo problema. Con su permiso, aquí está la solución que funcionó de inmediato:
Primero ejecute esto y desplácese hasta la información sobre el teclado Ejecutarcat /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
Ahora construya una identificación de esta manera:
evdev:input:b<bus_id>v<vendor_id>p<product_id>e<version_id>-<modalias>
Donde la versión y las modalidades no importan. Entiendo esto:
evdev:input:b0005v004Cp026C*
Luego crea este archivo
etc/udev/hwdb.d/60-applekeyboard.hwdb
No creo que el nombre importe pero no estoy seguro.
El archivo debe contener la identificación que acabamos de crear y la reasignación de claves:
# Apple magic
evdev:input:b0005v004Cp026C*
KEYBOARD_KEY_700e2=leftmeta
KEYBOARD_KEY_700e3=leftalt
¿Cómo encuentras los nombres? simplemente ejecute, sudo evtest
busque su teclado y presione la tecla que desea cambiar. La salida se ve así:
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
Utilice esa salida para construir la clave deseada y cambiarla.
A continuación, sudo ejecuta estos comandos para actualizar:
systemd-hwdb update
udevadm control --reload-rules
udevadm trigger
Entonces ya está.