Implement keyboard fixes.

master
Icedream 2022-06-15 18:38:25 +02:00
parent a5d6176e55
commit 0f08a5619f
Signed by: icedream
GPG Key ID: 468BBEEBB9EC6AEA
2 changed files with 48 additions and 0 deletions

View File

@ -0,0 +1,26 @@
typeset -g -A key
key[F1]='^[OP'
key[F2]='^[OQ'
key[F3]='^[OR'
key[F4]='^[OS'
key[F5]='^[[15~'
key[F6]='^[[17~'
key[F7]='^[[18~'
key[F8]='^[[19~'
key[F9]='^[[20~'
key[F10]=''''
key[F11]='^[[23~'
key[F12]='^[[24~'
key[Backspace]='^?'
key[Insert]='^[[2~'
key[Home]='^[[H'
key[PageUp]='^[[5~'
key[Delete]='^[[3~'
key[End]='^[[F'
key[PageDown]='^[[6~'
key[Up]='^[[A'
key[Left]='^[[D'
key[Down]='^[[B'
key[Right]='^[[C'
key[Menu]=''''

View File

@ -22,6 +22,7 @@ ZSH_DEFAULT_TERM=${ZSH_DEFAULT_TERM:-1}
ZSH_GCLOUD_FIXES=${ZSH_GCLOUD_FIXES:=$(when_binary_available gcloud)} ZSH_GCLOUD_FIXES=${ZSH_GCLOUD_FIXES:=$(when_binary_available gcloud)}
ZSH_GPG_PINENTRY_FIX=${ZSH_GPG_PINENTRY_FIX:-1} ZSH_GPG_PINENTRY_FIX=${ZSH_GPG_PINENTRY_FIX:-1}
ZSH_GPG_SSH_AGENT=${ZSH_GPG_SSH_AGENT:-$(has_binary gpgconf && [ -z "${SSH_AUTH_SOCK:-}" ] && [ -f $(gpgconf --list-dirs agent-ssh-socket) ] && printf 1 || printf 0)} ZSH_GPG_SSH_AGENT=${ZSH_GPG_SSH_AGENT:-$(has_binary gpgconf && [ -z "${SSH_AUTH_SOCK:-}" ] && [ -f $(gpgconf --list-dirs agent-ssh-socket) ] && printf 1 || printf 0)}
ZSH_KEYBOARD=${ZSH_KEYBOARD:-1}
ZSH_LOGO_LS=${ZSH_LOGO_LS:-$(when_binary_available logo-ls)} ZSH_LOGO_LS=${ZSH_LOGO_LS:-$(when_binary_available logo-ls)}
ZSH_OPAM=${ZSH_OPAM:-$(when_binary_available opam)} ZSH_OPAM=${ZSH_OPAM:-$(when_binary_available opam)}
ZSH_PIPX=${ZSH_PIPX:-$(when_binary_available pipx)} ZSH_PIPX=${ZSH_PIPX:-$(when_binary_available pipx)}
@ -265,6 +266,27 @@ if [ $ZSH_ROOT_ALIAS -gt 0 ]; then
fi fi
section_end section_end
# keyboard fixes
section "keyboard fixes"
if [ $ZSH_KEYBOARD -gt 0 ]; then
if [ -z "$SSH_CONNECTION" ]; then
keyboard_profile="$TERM-${${DISPLAY:t}:-$VENDOR-$OSTYPE}"
else
keyboard_profile="$TERM-ssh"
fi
if [ -f ~/.zkbd/"$keyboard_profile" ]
then
log "Loading keyboard profile: $HOME/.zkbd/$keyboard_profile"
. ~/.zkbd/"$keyboard_profile"
fi
# common assignments
bindkey "${key[Delete]}" delete-char
bindkey "${key[Home]}" beginning-of-line
bindkey "${key[End]}" end-of-line
fi
section_end
# Reboot required? (hacky code) # Reboot required? (hacky code)
section "reboot required?" section "reboot required?"
if [ $ZSH_PRINT_REBOOT_REQUIRED -gt 0 ]; then if [ $ZSH_PRINT_REBOOT_REQUIRED -gt 0 ]; then