定制桌子

定制桌子

是否可以在 Unix 终端中更改某些键盘按键?

例如:当我按下 ,然后_打印?

如果这确实可能,我该怎么做呢?

我在Ubuntu上。

答案1

引用自这里:

定制桌子

您可以创建自己的地图并将其存储在您的主目录中(即~/.Xmodmap)。将当前的键盘映射表打印到配置文件中:

xmodmap -pke > ~/.Xmodmap

对 ~/.Xmodmap 进行所需的更改,然后使用以下命令测试新配置:

xmodmap ~/.Xmodmap

要在启动 Xorg 时激活自定义表,请添加以下内容:

~/.xinitrc
if [ -f $HOME/.Xmodmap ]; then
    /usr/bin/xmodmap $HOME/.Xmodmap
fi

或者,编辑全局启动脚本 /etc/X11/xinit/xinitrc

测试变更

您还可以对当前会话进行临时更改。例如:

xmodmap -e "keycode  46 = l L l L lstroke Lstroke lstroke"
xmodmap -e "keysym a = e E"

还:

请参阅man xmodmap了解更多详情。

编辑:

澄清一下:xmodmap ~/.Xmodmap可以在很多地方使用,而不仅仅是在启动 Xorg 时。例如,我的 ~/.bashrc 中有这两个函数:

   # map caps to esc

   mapcaps(){
      xmodmap -e "clear lock"
      xmodmap -e "keycode 0x42 = Escape"
      echo mapcaps: caps-lock set to Escape via xmodmap
   }
   unmapcaps(){
      xmodmap -e "keycode 0x42 = Caps_Lock"
      xmodmap -e "add lock = Caps_Lock"
      echo unmapcaps: caps-lock set to caps-lock via xmodmap
   }

这样我就可以动态地将 Caps 映射到 Esc。

确实没有限制。请随意从 ~/.xinitrc、~/.bash_profile、自定义脚本等调用 xmodmap。

答案2

说实话,我从来没有尝试过做你正在尝试的事情。不过,我之前已经为终端(非 X)添加了备用键绑定(键组合)。

您可以使用以下命令查看您的按键绑定:showkeyshowkey -s

您将使用相关程序进行额外的研究和修改。

loadkeys dumpkeys keymaps setkeycodes

对我来说,在 Slackware 中进行更改非常容易,我花了一些时间在 Ubuntu 中查找,但没有找到相同的文件/usr/share/kbd/keymaps/i386/qwerty/*map.gz。虽然我只能访问实时启动的 Ubuntu 系统。你可能会过得更好。

答案3

如果您想在 X 窗口系统中执行此操作,可以使用 Xmodmap。我从来没有掌握过语法,所以找一个工作示例,然后从那里开始。

相关内容