Resulta que el núcleo lo recogió, pero siguió quejándose de que no se reconoce.
Para cualquier otra persona que tenga este problema o desee asignar una clave que el sistema operativo no lee, siga leyendo.
Abre una terminal y corre dmesg | grep -A 1 -i setkeycodes
. Esto le dará múltiples entradas como esta:
[ 9.307463] atkbd serio0: Unknown key pressed (translated set 2, code 0xbe on isa0060/serio0).
[ 9.307476] atkbd serio0: Use 'setkeycodes e03e <keycode>' to make it known.
Lo que nos interesa es el valor hexadecimal después de "setkeycodes", en este caso esto es e03e
. Si tiene varios de estos, puede ejecutar tail -f /var/log/kern.log
. Una vez que lo haya hecho, puede tocar el botón que está buscando, y esto le dará la misma línea que arriba, y nuevamente, solo necesitamos el valor hexadecimal. Haz una nota de esto.
Ahora corre xmodmap -pke | less
y encuentra el mapeo apropiado. En mi caso, necesitaba mapear esto para alternar mi panel táctil, lo que significa que estaba interesado en la siguiente línea:
keycode 199 = XF86TouchpadToggle NoSymbol XF86TouchpadToggle
Si no puede encontrar lo que le interesa, lea también la respuesta @Gilles, ya que también puede definir asignaciones personalizadas, luego siga leyendo (si el núcleo lo lee, no necesitará agregarlo a xorg.conf. re)
Ahora me encontré con el siguiente comando: sudo setkeycodes [hexadecimal] [keycode]
, así que en mi caso, que se convirtió en: setkeycodes e03e 199
.
Ahora puede usar la siguiente línea para probar si funcionó y / o tiene la asignación correcta:
xev | grep -A2 --line-buffered '^KeyRelease' | sed -n '/keycode /s/^.*keycode \([0-9]*\).* (.*, \(.*\)).*$/\1 \2/p'
Cuando ejecuta este comando, debe centrarse en la ventana recién abierta ( xev
) y verificar la salida de la consola. En mi caso, decía lo siguiente:
207 NoSymbol
Esto obviamente estaba mal, ya que solicité el código clave 199
, por lo que está asignado XF86TouchpadToggle
. Revisé xmodmap -pke
nuevamente, y noté que en keycode 207
realidad está asignado NoSymbol
, y noté que había una diferencia de compensación de 8, así que intenté el setkeycodes
comando nuevamente, pero la clave está asignada keycode 191
.
sudo setkeycodes e03e 191
Esto funcionó perfectamente.
EDITAR: la solución que proporcioné para tener que trabajar en el inicio no. Resolveré esto mañana y actualizaré esta respuesta. Por ahora, supongo que puede ejecutar esto al iniciar manualmente.
Por lo que parece, el dispositivo es un teclado (reconocido en el software como separado del teclado "central") pero el servidor X no lo está escuchando.
Intente agregar una sección de entrada debajo
/etc/X11/xorg.conf.d
. Es decir, cree un directorio/etc/X11/xorg.conf.d
si aún no existe y cree un archivoextra-keyboard-buttons
en ese directorio que contengaNo estoy seguro de esa
MatchProduct
línea; Si no funciona, intente jugar con lasMatchXXX
directivas .Una vez que este archivo está configurado correctamente, cuando inicia el servidor X, debe procesar eventos desde este teclado y debe ver eventos en
xev
y en otros lugares. Tenga en cuenta el código clave (no estoy seguro de si el código clave X11 será el mismo que el código clave de hardware en este caso) y asóciele un símbolo clave. Puede hacerlo a través de un archivo llamado.Xmodmap
en su directorio de inicio que contieneAhora puede definir métodos abreviados de teclado con estas teclas.
Para alternar el panel táctil, use el comando
xinput
. Ejecutexinput list
para ver qué dispositivos de entrada están disponibles y anote el nombre de su panel táctil (lo llamaré aTouchpad
continuación). Ejecutarxinput list-props Touchpad
para enumerar sus propiedades; uno de ellos debe llamarse "Dispositivo habilitado" con un número al lado (por ejemplo, 135). El siguiente script alternará el panel táctil:Guarde esto en un archivo
~/bin/toggle-touchpad
y hágalo ejecutable (chmod +x ~/bin/toggle-touchpad
). Para vincularlo a una clave, instale xbindkeys y configúrelo para ejecutar su script colocando las siguientes líneas en~/.xbindkeysrc
:fuente