自定义键盘快捷键来生成特定字符

自定义键盘快捷键来生成特定字符

我希望能够按Alt+C来生成Ç,按++Alt来生成,等等。ShiftUÜ

我该怎么做?组合键不允许我创建自定义快捷键,死键也不允许。

答案1

如果您想重新映射多个键,听起来您想创建一个自定义键盘布局,这个问题之前曾在这里被问过:

另一方面,重新映射几个键并不难。让我们按照您要求的做吧。

xmodmap命令可用于重新映射键盘。例如,对于您提到的映射,.Xmodmap在您的主目录中创建一个文件(请注意,我使用的是 >> 而不是 >,因此它会附加到文件而不是替换文件):

$ echo keysym Alt_R = Mode_switch >> ~/.Xmodmap
$ echo keysym C = c C ccedilla Ccedilla >> ~/.Xmodmap
$ echo keysym U = u U udiaeresis Udiaeresis >> ~/.Xmodmap

... 其中 'ccedilla' 是 ç,而 udiaeresis 是 ü(我刚刚使用此方法输入了这两个字母,尽管我个人更喜欢使用组合键方法)。我将在下面更详细地解释这一点。

如果你希望每次启动 Ubuntu GUI 时都使用这些设置(即 X 服务器),然后您应该创建(或编辑)一个名为的文件,它.xinitrc位于您的主目录中,并添加此行(如果它尚不在那里,可能不在那里):xmodmap ~/.Xmodmap

您也可以xmodmap ~/.Xmodmap从终端输入来测试您的设置。

笔记除了重新启动 X 服务器(如果您已通过以下方式让它们自动加载),没有简单的方法可以告诉 xmodmap “撤消”错误.xinitrc,则需要先修复 .Xmodmap)!但是,您可能能够通过使用setxkbmap -layout us(将“us”更改为适合您的正常布局的任何内容)将事物重置为默认值。

尖端:要试验 xmodmap 映射,您可以从命令行一次运行一个命令,例如:

$ xmodmap -e 'keysym U = u U udiaeresis Udiaeresis >> ~/.Xmodmap'

您可以使用xmodmap -pke来显示当前的键映射,或者仅xmodmap -p显示修饰符(Alt、Ctrl 等)映射。

有关可重新映射的键盘符号列表,请参阅此处(我在这里找到了“ccedilla”等) http://www.in-ulm.de/~mascheck/X11/keysyms.txt

正如承诺的那样,下面是我建议放入的 3 行的简要解释.Xmodmap

第一行将确保您的右键Alt被视为AltGr,因为它在某些国际键盘上已经是这样的。除非您在美国,否则您可能不需要该行。

第二行和第三行分别重新映射 C 和 U 键。

您会注意到,每行的“=”符号后有 4 个以空格分隔的条目。它们的含义如下:

  1. 第一个是当您单独按下该键时您希望该键产生的内容(例如,按下“c”键输入小写的“c”)。
  2. 第二个是用 Shift 键生成的内容(Shift“c”输入大写“C”)。
  3. 第三个是当您按下新映射的右 Alt 键时将产生的结果
  4. 第四个定义当您按下右 Alt 键、Shift 键和字母键时产生的内容。

其他资源/参考资料:

并且不要忘记查看手册页:

$ man xmodmap
$ man xev

相关内容