我正在尝试创建的键盘有很多 Unicode,看起来像这样:

以下教程不成功:
我想知道是否有人会提供更好的教程和分步说明?
αғs*_*нιη 82
在Ubuntu 14.04 中,键盘布局保留在
/usr/share/X11/xkb/symbols/
此目录中的每个文件都包含一系列以下类型的条目:
key <AC01> {[a, A, aacute, Aacute]};
此条目使用以下约定将键盘上的一个键映射到多个特定字符:
<甲C01>的第一个字母A表示,我们正在寻找在字母数字键块(其他选项包括KP [for keypad]和FK [for Function Key]);
<A C 01> 第二个字母C表示行,从找到键的底部开始计数。(在标准美式键盘中,空格AA键在行中,数字键在行中AE)。
<AC 01 > 数字01表示键的位置,从左侧开始计数并忽略任何特殊命名的键,例如TAB或~(波浪号):AC01位于第三行上方,左侧第一个键(忽略Caps Lock,如果存在);在标准美式键盘上,这是标有“a”的键。
括号括起分配给每个键的字符列表。这最多包含四个条目,以逗号分隔:
例如:
作为英Saxonist,I型á和Á少得多的频率比I型æ和Æ。
盎格鲁-撒克逊字符添加到我的名单,我只需更换aacute并Aacute与实体名称或Unicode码点的æ和Æ(“aelig”或U00E6和“AElig”或U00C6,分别对应)。
键 {[a, A, aelig, AElig]};
或者
键 {[a, A, U00E6, U00C6]};
修改完键盘布局后,我将文件以新名称“oe”保存在同一目录中。
evdev.xml文件添加新的键盘布局。为了使用新的键盘布局,我们需要告诉X11它存在。在 Ubuntu 14.04 中X11,在/usr/share/X11/xkb/rules/evdev.xml文件中跟踪已安装的键盘。然后让我们在其中添加新布局。
X11/xkb/rules/evdev.xml在编辑器中打开转到该<layoutList>部分的末尾(搜索</layoutList>)。在最后一个</layout>标签之后添加以下内容,其中X是键盘布局的文件名/usr/share/X11/xkb/symbols(在我的情况下oe);Y一个合适的简称;并Z适当长的名字中的一个或更多的语言和aaa一个合法的三个字母(ISO 639-2)语言代码(如英英语):
<layout>
<configItem>
<name> X </name>
<shortDescription> Y </shortDescription>
<description> Z </description>
<languageList>
<iso639Id> aaa </iso639Id>
</languageList>
</configItem>
<variantList/>
</layout>
Run Code Online (Sandbox Code Playgroud)其他相关链接:
http
: //ubuntuforums.org/showthread.php ? t = 188761&p = 1092145#post1092145 http://www.charvolant.org/~doug/xkb/html/index.html
Ano*_*non 30
注意:Wayland 确实使用 xkb,但许多 xTools 已停止正常工作(例如 xdotool)
注意:这是一个非详尽的教程。对于希望创建新的八级布局并了解语法的个人来说,这是最有用的。
注意:提供了一个快速而肮脏的解决方案。它包括一个电子表格,可以自动生成您需要的代码。
cd /usr/share/X11/xkb/ && ls
Run Code Online (Sandbox Code Playgroud)
57. 然而,我们将其写为<SPCE>keycodes > symbols > compat
我只触摸symbols: 请参阅下面的Quick and Dirty解决方案。
/symbols/us 此目录中的任何文件都遵循相同的结构。
partial alphanumeric_keys
xkb_symbols "basic" {
name[Group1]= "US/ASCII";
key <TLDE> { [ quoteleft, asciitilde ] };
key <AE01> { [ 1, exclam ] };
modifier_map Shift { Shift_L, Shift_R };
};
Run Code Online (Sandbox Code Playgroud)
partial - 不是完整的键盘映射
alphanumeric_keys被映射的键盘部分。可以使用多个
注意:如果没有*_keys指定,则假定是一个完整的键盘。
"basic" - 符号地图的名称
name[Group1]= "US/ASCII";给这个键盘组一个唯一的名字。
modifier_map用于编辑修饰键。(ctrl, shift, alt~)
Shift { Shift_L, Shift_R };通常不需要。它将两个班次都映射到班次修饰符,即级别 2。
key <TLDE> 波浪号键- 通常在 Tab 正上方的左上键
key <AE01> 插图- 由三部分组成,AE01
A= 字母数字键块。
KP= 键盘
FK= 功能键
E= 键盘上的行。
Space Key=A行
Shift Key=B行
Caps Lock=C行
Tab Key= D行
01= 键在行上的位置。
AE01= 1
AB02= X
AC05=G
[+ ]- 在 C 语言中;方括号表示一个列表,其中的项目被 分割,。列表的长度决定了级别的数量。例如:
key<AE01> { [ Level 1 , Level 2 , Level 3 , Level 4 , Level 5 ] }
Run Code Online (Sandbox Code Playgroud)
通常,级别表示以下按键:
简而言之,如果您想将一个键映射到 shift + altgr,您的列表必须至少有四个项目。
这些行中的任何一行都会导致严重错误,并使您无法使用键盘:
key<AE01> { [ Backspace ] }
key<AE02> { [ a, b, , C ] }
Run Code Online (Sandbox Code Playgroud)
Backspace应该是BackSpace:特别注意拼写。VoidSymbol。备份您正在编辑的文件:
sudo /bin/cp /usr/share/X11/xkb/symbols/us /usr/share/X11/xkb/symbols/usBACKUP
就像是:
#!/bin/bash
sudo /bin/cp -rf /usr/share/X11/xkb/symbols/usBACKUP /usr/share/X11/xkb/symbols/us
Run Code Online (Sandbox Code Playgroud)
如果出现任何问题,请使用鼠标运行该行代码(包含在您授予 sudoers 权限的 bash 脚本中。记住chmod +x允许作为可执行文件运行。)
return(按 Enter)粘贴换行符。!变成U0021)。支持 Unicode!VoidSymbol。key <AE01> { [U0021, U0021, U0021, U0021, U0021, U0021, U0021, U0021] };
key <AE02> { [U005B, U005B, U005B, U005B, U005B, U005B, U005B, U005B] };
key <AE03> { [U005D, U005D, U005D, U005D, U005D, U005D, U005D, U005D] };
key <AE04> { [U0022, U0022, U0022, U0022, U0022, U0022, U0022, U0022] };
key <AE05> { [U002A, U002A, U002A, U002A, U002A, U002A, U002A, U002A] };
key <AE06> { [U007B, U007B, U007B, U007B, U007B, U007B, U007B, U007B] };
key <AE07> { [U007D, U007D, U007D, U007D, U007D, U007D, U007D, U007D] };
key <AE08> { [U002F, U002F, U002F, U002F, U002F, U002F, U002F, U002F] };
key <AE09> { [U0027, U0027, U0037, U0027, U0027, U0027, U0027, U0027] };
key <AE10> { [U0029, U0029, U0038, U0029, U0029, U0029, U0029, U0029] };
key <AE11> { [U0028, U0028, U0039, U0028, U0028, U0028, U0028, U0028] };
key <AE12> { [U005C, U005C, U005C, U005C, U005C, U005C, U005C, U005C] };
Run Code Online (Sandbox Code Playgroud)
在所有 8 个级别上进行更改:
1234567890-= // Physical Keys
![]"*{}/')(\ // Changed to these charactersRun Code Online (Sandbox Code Playgroud)sudo vim /usr/share/X11/xkb/symbols/us感兴趣的线路:
key.type[group1]="EIGHT_LEVEL"; // Enables 8 levels
modifier_map Control { <LFSH>, <RTSH> }; // Maps ctrl`s to shift keys.
key { [Control_R, Control_R, Control_R, Control_R, Control_R, Control_R, Control_R, Control_R] };
key { [Control_L, Control_L, Control_L, Control_L, Control_L, Control_L, Control_L, Control_L] };
include "level3(lalt_switch)" // Hold Left Alt for Level 3
include "level5(ralt_switch)" // Hold Right Alt for Level 5
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
27447 次 |
| 最近记录: |