Debian中的按键映射在哪里?(使用loadkeys更改键盘映射。)


12

从实际的控制台(如Ctrl- - Alt),F3我想用sudo loadkeys dvorak 在Ubuntu的。虽然可以在Ubuntu中自动运行,但Debian希望我找到一个键盘映射文件。我没有/usr/share/keymaps有时给出答案。 find / -type f -name '*dvorak*'出现一些loadkeys不需要的文件。正如在这个其他答案希望使用,使我的系统的永久性改变console-config。我想写一些简单的脚本,可以随时更改键盘映射。

有可以安装的软件包吗?

由于我最终想交换Caps-Lock和Escape,因此我可能应该制作自己的自定义键盘映射,对吗?

Answers:


15

1)确保console-data已安装软件包:

# loadkeys dvorak
Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz

$ dpkg --search /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz
console-data: /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz

$ cat /etc/debian_version 
wheezy/sid

2)恕我直言,是dumpkeys > test.keymap && edit test.keymap && loadkeys test最简单的。


1

这是我个人毒物柜中的脚本,用于永久使CAPSLOCK成为debian上的另一个CTRL。它应该提供足够的提示,以便您自己进一步进行调整。

假定直到现在都使用'us'kbd布局,此处新的键盘布局将被称为'sjas'。

Oneliner:

apt install console-data -y; TMP=$(loadkeys us | awk {'print $2'}); TMP2=$(dirname $TMP)/sjas.kmap.gz; cp -vaf $TMP $TMP2; gzip -d $TMP2; TMP3=${TMP2%%.gz}; sed -i -e 's/us.map/sjas.map/' -e 's/.*58.*/keycode  58 = Control/' $TMP3; gzip -c $TMP3 > $TMP2; rm $TMP3; sed -i 's/"us"/"sjas"/g' /etc/default/keyboard

不在一行中,因此更容易阅读:

apt install console-data -y
TMP=$(loadkeys us | awk {'print $2'})
TMP2=$(dirname $TMP)/sjas.kmap.gz
cp -vaf $TMP $TMP2
gzip -d $TMP2
TMP3=${TMP2%%.gz}
sed -i -e 's/us.map/sjas.map/' -e 's/.*58.*/keycode  58 = Control/' $TMP3
gzip -c $TMP3 > $TMP2
rm $TMP3
sed -i 's/"us"/"sjas"/g' /etc/default/keyboard

将“ sjas”和“ us”字符串出现的位置替换为当前布局不同以及如何调用新布局的地方。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.