En el portátil del curro que lo que me fastidia es que no es una marca mala, es un Thinkpad (de los e ahora) me esta fallando el teclado no funcionan las teclas flecha abajo y la de suprimir.
Pero el problemón es que al azar se activa la tecla supr sin tocarla ni nada y se queda activa, haciendo destrozos considerables cuando estoy programando.
Así que mientras conseguimos arreglarlo y no físicamente, voy a buscar la solución software, que es muy parecida a amputar una pierna gangrenada.
Lo espectacular de GNU/Linux es que puedes hacer y deshacer cosas que serían impensables de poder hacer en el sistema desoperativo de las ventanas o de la manzana.
Voy a crear una regla para hwdb para deshabilitar la tecla…muerto el perro se acabo la rabia.
Lo primero es encontrar el teclado:
$ cat /proc/bus/input/devices | grep -i keyboard -B2 -A10 I: Bus=0011 Vendor=0001 Product=0001 Version=ab83 N: Name="AT Translated Set 2 keyboard" P: Phys=isa0060/serio0/input0 S: Sysfs=/devices/platform/i8042/serio0/input/input4 U: Uniq= H: Handlers=sysrq kbd event4 leds B: PROP=0 B: EV=120013 B: KEY=402000000 3803078f800d001 feffffdfffefffff fffffffffffffffe B: MSC=10 B: LED=7 -- I: Bus=0003 Vendor=413c Product=2106 Version=0110 N: Name="DELL Dell QuietKey Keyboard" P: Phys=usb-0000:04:00.3-2.2/input0 S: Sysfs=/devices/pci0000:00/0000:00:08.1/0000:04:00.3/usb1/1-2/1-2.2/1-2.2:1.0/0003:413C:2106.0002/input/input10 U: Uniq= H: Handlers=sysrq kbd event9 leds B: PROP=0 B: EV=120013 B: KEY=1000000000007 ff9f207ac14057ff febeffdfffefffff fffffffffffffffe B: MSC=10 B: LED=7
Listando ese fichero sale todo lo que esta enganchado al sistema operativo, pero he filtrado a teclado, me sale el externo y el del portátil.
De ahí tienes que buscar el event<num> que sea tu teclado, esta en el campo Handlers, en mi caso es el event4.
Instalas evetest que vigila los eventos de sistema y te va dar el valor MSC_SCAN de la tecla suprimir o la que quieras matar.
sudo evtest /dev/input/event4
Yo la cace o pesque mientras estaba escribiendo esto:
Event: time 1747226204.341909, -------------- SYN_REPORT ------------ Event: time 1747226204.345745, type 4 (EV_MSC), code 4 (MSC_SCAN), value 0d Event: time 1747226204.345745, type 1 (EV_KEY), code 13 (KEY_EQUAL), value 0 Event: time 1747226204.345745, -------------- SYN_REPORT ------------ Event: time 1747226204.351976, type 4 (EV_MSC), code 4 (MSC_SCAN), value d3 Event: time 1747226204.351976, type 1 (EV_KEY), code 111 (KEY_DELETE), value 1 Event: time 1747226204.351976, -------------- SYN_REPORT ------------ Event: time 1747226204.596393, type 4 (EV_MSC), code 4 (MSC_SCAN), value d3 Event: time 1747226204.596393, type 1 (EV_KEY), code 111 (KEY_DELETE), value 2 Event: time 1747226204.596393, -------------- SYN_REPORT ------------ Event: time 1747226204.626565, type 4 (EV_MSC), code 4 (MSC_SCAN), value d3 Event: time 1747226204.626565, type 1 (EV_KEY), code 111 (KEY_DELETE), value 2 Event: time 1747226204.626565, -------------- SYN_REPORT ------------
Es d3
También necesitas el MODALIAS que hay varias alternativas para sacarlo.
O usando:
sudo udevadm info /dev/input/eventX
O usando: sudo udevadm info --attribute-walk --name=/dev/input/event4
Pero a mi no me ha salido el dichoso MODALIAS.
Así que gracias a la doc de Arch (todos los linuxeros independientemente de nuestra distro favorita debemos reconocer el trabajo de la comunidad de Arch) he encontrado otra manera.
$ cat /sys/devices/platform/i8042/serio0/modalias serio:ty06pr00id00ex00
El path lo sacas de Sysfs del hacer el cat /proc/bus/input/devices anterior.
Cómo es al azar mi caso, dejo la ventana ahí pacientemetne a ver si pesca o caza la tecla fantasma de suprimir.
Añadir la tecla a una regla de hwdb.
sudo nano /etc/udev/hwdb.d/11-deshabilitar-supr-tecla.hwdb
Y añades las lineas (ojo con el espacio en blanco de KEYBOARD):
evdev:<modalias> KEYBOARD_KEY_<MSC_SCAN>=reserved
En mi caso:
evdev:serio:ty06pr00id00ex00 KEYBOARD_KEY_d3=reserved
Activarlo (puede ser reiniciando) o con el siguiente par de comandos:
sudo systemd-hwdb update sudo udevadm trigger /dev/input/event4
Y a disfrutar con tu portátil con la tecla gangrenada amputada.
Nota: algunas veces el modalias esta mal por alguna razón que desconozco. Hay otra forma de sacarlo:
sudo udevadm test /sys/class/input/event4 2>&1 | grep modalias
Y saldrá mucha mierda, entre toda veras lineas como: event4: hwdb modalias key: "input:b0011v0001p0001eAB83-e0,1,4,11,14,k71,72,73,74,75,76,77,79,7A,7B,7C,7D,7E,7F,80,8C,8E,8F,9B,9C,9D,9E,9F,A3,A4,A5,A6,AC,AD,B7,B8,B9,D9,E2,ram4,l0,1,2,sfw"
Pues el modalias es el input con todo el churro y en donde el guion se mete el * (que no se si es para casar todos lo que hay separados por comas).
input:b0011v0001p0001eAB83-*
Extra: También puedes remapear (como en los videojuegos) una tecla pocha por otra, es de la misma manera pero añadiendo una segunda fila (recuerda el espacio en blanco:
KEYBOARD_KEY_4d=z
Donde el 4d es la tecla que quieres usar para la sustitución y el z es la tecla.