Os seguintes dados residem no meu $HOME/.uxSwapCapsLock-and-Ctrl
. Ele efetivamente troca a funcionalidade das teclas CapsLock e Ctrl de qualquer shell em uso em qualquer sistema Linux sempre que eu fizer login, e inicia uma sessão interativa dentro de um shell, em um determinado sistema. Tenho certeza que você pode aprender sobre o nome da chave pertinente que você está tentando modificar, e são referidos pelo xmodmap, para obter a funcionalidade que você deseja. Esse código é iniciado toda vez que eu faço login e tenho uma sessão interativa via .profile, mas ele mora em um arquivo .ps1 para esse propósito.
#!bin/bash
xmodmap -e "remove Lock = Caps_Lock"
xmodmap -e "remove Control = Control_L"
xmodmap -e "keysym Control_L = Caps_Lock"
xmodmap -e "keysym Caps_Lock = Control_L"
xmodmap -e "add Lock = Caps_Lock"
xmodmap -e "add Control = Control_L"
#End script
Esta é a verificação .profile para que a troca ocorra:
if [ -f "$HOME/.uxSwapCapsLock-and-Ctrl" ]; then
. $HOME/.uxSwapCapsLock-and-Ctrl
fi