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

Wha*_*ver 5 keyboard-layout shortcut-keys

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

我怎样才能做到这一点?Compose 键不允许我创建自定义快捷方式,死键也不允许。

Lam*_*art 5

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

\n\n\n\n

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

\n\n

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

\n\n
$ echo keysym Alt_R = Mode_switch >> ~/.Xmodmap\n$ echo keysym C = c C ccedilla Ccedilla >> ~/.Xmodmap\n$ echo keysym U = u U udiaeresis Udiaeresis >> ~/.Xmodmap\n
Run Code Online (Sandbox Code Playgroud)\n\n

...其中“ccedilla”是\xc3\xa7,udiaeresis是\xc3\xbc(这两个都是我刚刚使用此方法输入的,尽管我个人更喜欢组合键方法)。我将在下面更详细地解释这一点。

\n\n

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

\n\n

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

\n\n

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

\n\n

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

\n\n
$ xmodmap -e \'keysym U = u U udiaeresis Udiaeresis >> ~/.Xmodmap\'\n
Run Code Online (Sandbox Code Playgroud)\n\n

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

\n\n

有关可以重新映射的键符号列表,请参阅此(这是我找到 \'ccedilla\' 等的地方)\n http://www.in-ulm.de/~mascheck/X11/keysyms.txt

\n\n

正如所承诺的,这里是我建议放入您的 3 行的简要说明.Xmodmap

\n\n

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

\n\n

第 2 行和第 3 行分别重新映射 C 和 U 键。

\n\n

您会注意到,每行的“=”符号后面有 4 个以空格分隔的条目。这就是他们的意思:

\n\n
    \n
  1. 第一个是当您单独按下该键时您希望该键产生的结果(即“c”键输入小写的“c”)。
  2. \n
  3. 第二个是使用 Shift 键生成的内容(Shift \'c\' 输入\n大写 \'C\')。
  4. \n
  5. 第三个是当您用新重新映射的右 Alt 键按下该键时将产生的内容
  6. \n
  7. 第四个定义了当您按下右侧 Alt 键、Shift 键和字母键时要生成的内容。
  8. \n
\n\n

其他资源/参考资料:

\n\n\n\n

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

\n\n
$ man xmodmap\n$ man xev\n
Run Code Online (Sandbox Code Playgroud)\n


归档时间:

查看次数:

2401 次

最近记录:

9 年,6 月 前