Tengo un teclado estándar con teclas numéricas en el lado derecho (supongo que se llama teclado de 104 teclas). Quiero usar las teclas numéricas solo como teclas numéricas. Eso significa que no quiero NumLockencender y apagar las teclas numéricas.
Sin embargo, a veces sucede (no sé cómo, quizás NumLockpresionando la tecla accidentalmente ) que el bloqueo numérico está desactivado y tengo que presionarlo nuevamente. Esto es extremadamente molesto.
¿Es posible desactivar el bloqueo numérico?
En otras palabras: quiero que mis teclas numéricas siempre actúen como teclas numéricas y deshabilite el interruptor de bloqueo numérico .
Estoy usando Debian y LXDE (Openbox).
~/.config/openbox/autostart
y~/.config/openbox/rc.xml
?xmodmap
. La única pregunta que queda es cómo conseguir ese evento ......?Respuestas:
Después de leer toda la respuesta aquí, me sorprendió ver que puedes hacer lo siguiente.
Entonces, cada vez que presiona Num, lo que desactiva el bloqueo numérico. Se ejecutará
numlockx on
, lo que reactiva el bloqueo numérico.El nombre proviene de mi salida,
xev
que me dio el código clave 77 y el nombreNum_Lock
En el caso de @MartinVegters, tuvo que esperar unos segundos para que
numlockx on
se ejecute definitivamente después de que Numse maneje el evento . Dado que existe una condición de carrera entre el manejo de numlock en el kernel y la ejecuciónnumlockx
.Para este caso puedes escribir un pequeño script
denumlock.sh
comoy úsalo en la encuadernación de teclas
Esto está sucio pero funciona.
Lo que recomiendo es lo siguiente que no pude probar yo mismo. Es mejor que siga las primeras respuestas que sugieren usar
Pero para LXDE necesita usar el mecanismo de inicio automático de LXDE, que es diferente de la forma de edición de Openbox
~/.config/openbox/autostart
.En LXDE aparentemente necesita editar
~/.config/lxsession/LXDE/autostart
o con Lubuntu~/.config/lxsession/Lubuntu/autostart
, que contiene los comandos para el inicio. (Consulte Arch docs y LXDE docs ) Es posible que deba crear ese archivo y agregar esta línea.Lamentablemente, como dije, no puedo probar si esto funciona, ya que solo tengo una VM ejecutándose con LXDE.
fuente
<keybind key="Num_Lock">
pero desafortunadamente no funciona. Mientrasnumlockx on
se ejecuta el comando , <kbd> NumLock </kbd> todavía vende su función como bloqueo numérico. Así que todavía puedo activar / desactivar el bloqueo numérico.xmodmap
, cuando probé la solución sugerida por Risto Salminen, el comando funcionó, pero he perdido todas mis combinaciones de teclas.sleep 3; numlockx on
teclas. Para la segunda solución, ¿lo has probado con el inicio automático?sleep 3; /usr/bin/numlockx on
no funciona.NumLock
todavía actúa como un interruptor de encendido / apagado./usr/bin/numlockx on
funciona en su sistema?Si el teclado es suyo (en lugar del de su empleador, por ejemplo), simplemente quítelo físicamente.
Todavía puede presionarlo con algo puntiagudo si realmente lo necesita.
fuente
En el teclado de mi computadora portátil (Ubuntu 10.04) el bloqueo del teclado está actualmente activado.
Voila! numlock ahora está deshabilitado.
Lo vuelve a poner. (Tal vez la codicia por Num_lock hubiera sido una mejor idea, pero entiendes lo esencial).
Responde al comentario de @Martin Vegter.
Ok , en respuesta a tu comentario xmodmap arruina tus enlaces, entendido.
Acabo de revisar la documentación de Openbox
Echa un vistazo en ~ / .config / openbox / lxde-rc.xml
ls -l lxde-rc.xml
(¿también tiene un rc.xml?, verifique).tomar una copia como respaldo
(use un editor) busque numlock (quizás nmlk).
¿Ves algo como esto?
Comente o cambie el valor clave de la combinación de teclas a una alternativa, por ejemplo, Alt-Numlock para alternar
P.ej
Para comentar
o
Cambiar a Alt + alternar alternar
guardar cambios y cerrar sesión / iniciar sesión o reiniciar.
fuente
xmodmap
comando (es decirxmodmap -e 'keycode 77 = Escape'
) destruye mis.config/openbox/lxde-rc.xml
.config/openbox/lxde-rc.xml
, no hay una línea que contengaNumlock
oNum_Lock
. Cuando creo uno, no tiene ningún efecto: <keybind key = "Num_Lock"> <action name = "Execute"> <command> / bin / true </command> </action> </keybind>Encuentra tu código numérico con
xev
. Por ejemplo, aquí, Num_Lock es 77.Use xmodmap para reasignar el código clave:
xmodmap -e 'keycode 77 = '
.A todas las futuras sesiones X, dentro del
~/.xprofile
lugarxmodmap -e 'keycode 77 = '
.EDITAR: Nota: No funciona si un software está cambiando el estado de Num Lock.
fuente
xmodmap -e 'keycode 77 = '
funciona, pero causa un problema grave: todas misxmodmap -e 'keycode 77 = Escape'
(YMMV, ESC parece seguro para mí). ¿Tiene un archivo ~ / .Xmodmap? En caso afirmativo, en lugar de~/.xprofile
, coloque elkeycode 77 = Escape
al final de este archivo.xmodmap
comando (es decirxmodmap -e 'keycode 77 = Escape'
) destruye mis.config/openbox/lxde-rc.xml
Simplemente elimine la asignación de teclas NumLock asignándola a nada: primero ejecute
xev
y presione Num Lock (probablemente imprimirá 77), y luego ejecute el comando:donde # es el código clave de NumLock.
También pondría esto
~/.xprofile
para deshabilitar NumLock en x sesiones.fuente
xmodmap -e "remove Lock = Num_Lock"
con LinuxMint 17.2 e imagino que otras versiones de Ubuntu pueden ir a su configuración de TECLADO y luego LAYOUTS en esa página encontrará un pequeño botón de "opciones".
Desde allí, vaya a "opciones de compatibilidad miscelánea" y marque "las teclas numéricas siempre ingresan dígitos"
Este es un salvavidas para mí. Me fastidia muchísimo escribir un número y ser trasladado a otro lugar de la página. ¡Aclamaciones! ;)
fuente
setxkbmap -option numpad:mac
o mediante el establecimientoOption "XkbOptions" "numpad:mac"
dexorg.conf
.Otras respuestas aquí sugirieron usar
numlockx on
conxmodmap -e 'keycode 77 ='
, peronumlockx on
no funcionarían en mi sistema junto con esexmodmap
comando, mostrándome un mensaje de error:Y también la configuración
xmodmap -e 'keycode 77 ='
eliminaría por alguna razón todas mis combinaciones de teclas hechas conxbindkeys
.Sin embargo, esta respuesta a una pregunta similar me ha ayudado. Parte de mi
~/.xinitrc
:De esta manera, el NumLock no hace nada por sí mismo, pero si se presiona con Shift, cumple su propósito original (en su mayoría inútil), y lo más importante es que no impide que
numlockx on
funcione en mi sistema ni estropee misxbindkeys
atajos de teclas.fuente
Otra forma, si desea desactivar la numlocktecla, desactívela permanentemente. Puede hacerlo modificando su archivo de mapa de teclas actual modificando el código de tecla 77.
Establezca este valor en "ninguno", de modo que presionar accidentalmente la tecla no haga nada.
Uso
numlockx
en el arranque para iniciar y utilizar el archivo de mapa de teclado modificado en una de script de inicio, por ejemplo~/.bashrc
, o en/etc/profile
.NOTA: No he probado esto, pero debería funcionar.
fuente
En OpenSuse 13.x con KDE, esto funcionó para mí:
Si NumLock necesita estar habilitado porque está desactivado, solo utilícelo
% numlockx on
.fuente
Una solución alternativa bastante complicada es agregar un
cron
trabajo que ejecute el siguiente comandocada 30 segundos más o menos para activar NumLock.
Ver también
fuente
Puede que no sea la mejor solución, pero esto funcionó para mí:
Donde 11 es la identificación de su teclado. Haga una
xinput
lista para determinar la identificación de su teclado (en mi caso es 11):Obviamente,
numlockx
debe instalarse para que eso funcione.Explicación:
stdbuf -oL
modifica las operaciones de almacenamiento en búfer de la secuencia de salida a la línea almacenada en búferxinput test 11
imprime las teclas presionadas en stdoutmawk -W interactive '$3==77 {printf "/usr/bin/numlockx on\n"}'
para cada línea que se imprime y contiene 77 (la tecla de bloqueo numérico), cree un comando/usr/bin/numlockx on
...| bash
... y canalizarlo a bash para ejecutarlo.Puede insertar este oneliner en uno de los scripts iniciales de entornos de escritorio o ejecutarlo en segundo plano.
fuente
También quiero que las teclas numéricas del teclado numérico sean siempre números, ninguna de las cosas de KP _...
Mi solución es parte de mi Remapping Apple Keyboard para usar con el repositorio de Linux .
Básicamente, simplemente reasigna Num_Lock como F20 y los números como ellos mismos.
Esta solución siempre proporciona el resultado deseado y una tecla de función adicional como beneficio adicional.
fuente
Cree el siguiente script y hágalo ejecutable con
chmod +x <filename>
Ponga la ruta del archivo en
.config/openbox/autostart
O colóquelo como un trabajo cron que verifica cada dos minutos y ejecuta el script si los bloqueos numéricos están desactivados.
O simplemente ejecute el script en un bucle.
Si no tiene numlockx, debería poder obtenerlo con
sudo apt-get install numlockx
fuente