La tecla del teclado numérico no envía los mismos símbolos de tecla que la tecla numérica 'normal' en la fila superior. Por ejemplo: el teclado numérico-1-tecla envía KP_1
mientras que la tecla-1 solo envía 1
.
Algunos terminales reasignan automáticamente la tecla del teclado numérico para enviar los mismos códigos al shell. Además, algunos shells (por ejemplo bash
) simplemente interpretan las teclas del teclado numérico como sus equivalentes en el bloque principal.
zsh
no hace el mapeo automáticamente, pero puede usarlo bindkey
para hacer el mapeo por su cuenta. Tengo lo siguiente en mi ~/.zshrc
para que el teclado funcione:
# Keypad
# 0 . Enter
bindkey -s "^[Op" "0"
bindkey -s "^[Ol" "."
bindkey -s "^[OM" "^M"
# 1 2 3
bindkey -s "^[Oq" "1"
bindkey -s "^[Or" "2"
bindkey -s "^[Os" "3"
# 4 5 6
bindkey -s "^[Ot" "4"
bindkey -s "^[Ou" "5"
bindkey -s "^[Ov" "6"
# 7 8 9
bindkey -s "^[Ow" "7"
bindkey -s "^[Ox" "8"
bindkey -s "^[Oy" "9"
# + - * /
bindkey -s "^[Ok" "+"
bindkey -s "^[Om" "-"
bindkey -s "^[Oj" "*"
bindkey -s "^[Oo" "/"
bindkey -s in-string out-string
se une in-string
a out-string
. Si in-string
se escribe, out-string
se empuja hacia atrás y se trata como entrada.
Los códigos reales (por ejemplo ^[Oq
) pueden ser diferentes en su sistema. Puede presionar Ctrl+ vseguido de la tecla en cuestión para obtener el código de su terminal.
Ctrl
+v
es genial.Para completar la respuesta que dio @adaephon, los siguientes son los enlaces correctos para el teclado USB de Apple (A1243). Estos deben ser agregados a
~/.zshrc
.fuente
+
(tuvo que usarbindkey -s "^[Ok" "+"
) y=
(faltabindkey -s "^[OX" "="
)También complementando la respuesta de @adaephon. Esto es lo que tuve que usar para mi computadora de escritorio Dell, podría ser de ayuda. Simplemente agréguelo a su archivo .zshrc.
(Por cierto, no agregue enlaces de todas las respuestas, solo debe tener un enlace por tecla)
fuente
Terminal > Keyboard > Initial state of numeric pad > Normal
)En mi Mac OSX El Capitan, la tecla de punto es en
^[0n
lugar de^[01
. También tengo un teclado inalámbrico Logitech para Mac y también tiene un=
signo en el teclado numérico. Mi mapeo final se ve a continuación:Sin embargo, la solución que otros propusieron funciona correctamente.
fuente
Si usa Kitty para acceder a un servidor Linux en SSH y el teclado funciona bien con Bash pero no con ZSH, puede intentar agregar lo siguiente en su
~/.zshrc
archivo de configuración:Salvar. Cierre sesión y vuelva a iniciar sesión para volver a cargar la configuración de ZSH, o alternativamente puede escribir lo siguiente en su terminal:
¡El teclado ahora debería funcionar como se esperaba!
fuente