Opciones de distribución del teclado de Gnome Tweak Tools: ¿configuradas solo para teclado Bluetooth?

Opciones de distribución del teclado de Gnome Tweak Tools: ¿configuradas solo para teclado Bluetooth?

Tengo esta útil configuración habilitada en Tweak Tools cuando uso un molesto teclado mágico externo de Apple:

ingrese la descripción de la imagen aquí

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.

xkeycapspuede resultar útil.

Relacionado>

  1. ¿Cómo reasigno ciertas claves o dispositivos?
  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. (En comentario de Pablo Bianchi)https://superuser.com/questions/277990/cómo-intercambio-alt-and-windows-keys-with-xmodmap
  5. (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.

xinputte 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 evtestbusque 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á.

información relacionada