问题描述

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

不成功使用以下教程:

我想知道是否有人会如此友善地提供一步一步的指导更好的教程?

最佳解决方案

在Ubuntu 14.04中,键盘布局保留在

/usr/share/X11/xkb/symbols/

此目录中的每个文件都包含以下类型的一系列条目:

key {[a, A, aacute, Aacute]};

此条目使用以下约定将键盘上的键映射到多个特定字符:

< A C01>第一个字母A表示我们正在查找字母数字键块(其他选项包括KP [for keypad]和FK [for Function Key]);

< A C 01>第二个字母C表示从找到密钥的底部开始计算的行。 (在标准的美式键盘中,空格键位于行AA中,数字键位于行AE中)。

< AC 01>数字01表示密钥的位置,从左边开始计算并忽略任何特别命名的密钥,如TAB或~(代字号):AC01在第三行,第一行从左边开始(忽略Caps Lock,如果存在);在标准的美式键盘上,这是标记为“a”的键。

括号括起分配给每个键的字符列表。它最多包含四个条目,以逗号分隔:

a – 未修改的密钥。

A – Shift字符。

ĂĄ – Alt Gr字符。 (aacute)

Ä, – Shift + Alt Gr字符。 (Aacute)

创建自定义键盘Map就像在给定行中替换您不想要的字符一样简单!

例如:

作为Anglo-Saxonist,I型á和Á比I型æ和Æ少得多。

到Anglo-Saxon字符添加到我的名单,我只是与实体名称或Unicode code points为æ和Æ(“aelig”或U00E6和“AElig”或U00C6,分别)取代aacute和Aacute:

key {[a, A, aelig, AElig]};

要么

key {[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);你是一个合适的简称;和Z一个或多个语言的适当的长名称和aaa legal three letter (ISO 639-2) language code(例如英语的eng):

X

Y

Z

aaa

次佳解决方案

注意:Wayland确实使用xkb,但许多xTools已经停止正常工作(例如xdotool)

注意:这是一个non-exhaustive教程。对于希望创建新的八级布局并理解语法的个人来说,它非常有用。

注意:提供了快速而肮脏的解决方案。它包含一个电子表格,可自动生成您需要的代码。

了解XKB目录

cd /usr/share/X11/xkb/ && ls

types – 活动修改器如何更改生成的键。 (Shift,Control,Alt~)如果要自定义修改键,则很重要。

geometry – 用于绘制键盘图形。如果您正在设计非标准的键盘硬件,则很重要。

rules – 获取当前设置的相应配置。您需要定义它

keycodes – 键盘硬件键码的解释器。示例:Macintosh键盘将空格键理解为57。我们把它写成

symbols – 将哪些值分配给哪些密钥代码。这是我们定义自定义布局的地方。

compat – 兼容性的缩写。修改器的内部行为(Shift,Control,Alt …)

Workflow

compat

我只触摸symbols:请参阅下面的Quick and Dirty解决方案。

符号映射

/symbols/us此目录中的任何文件都遵循相同的结构。

partial alphanumeric_keys

xkb_symbols "basic" {

name[Group1]= "US/ASCII";

key { [ quoteleft, asciitilde ] };

key { [ 1, exclam ] };

modifier_map Shift { Shift_L, Shift_R };

};

partial – 不是一个完整的键盘映射

alphanumeric_keys正在映射的键盘部分。可以使用多个注意:如果未指定*_keys,则假定使用完整的键盘。

"basic" – 符号映射的名称

name[Group1]= "US/ASCII";为此键盘组提供唯一名称。

modifier_map用于编辑修改键。 (ctrl,shift,alt~)

Shift { Shift_L, Shift_R };通常不是必需的。它将两个移位映射到移位修改器,也就是级别2。

key The Tilde Key – 通常在Tab右上方的左上方键

key Illustration – 由三部分组成,A E 01

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 { [ Level 1 , Level 2 , Level 3 , Level 4 , Level 5 ] }

通常,Levels表示以下按键:

没有修饰键

Shift

Alt Gr

Shift + Alt Gr

Custom – 不太可能看到4级以外的任何东西。

简而言之,如果你想将一个键映射到shift + altgr,你的列表必须至少有四个项目。

警告 – 常见错误

这些行中的任何一行都会导致严重错误,并且会在没有可用键盘的情况下离开您:

key { [ Backspace ] }

key { [ a, b, , C ] }

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

如果出现任何问题,请使用鼠标运行该行代码(包含在您赋予sudoers权限的bash脚本中。请记住chmod +x允许作为可执行文件运行。)

恢复损坏系统的备份策略

警告:键盘& On-Screen键盘将停止工作时出现最轻微的错误。

鼠标会起作用。可以通过突出显示字符并使用中键单击粘贴来完成键入。在Bash中,您可以通过粘贴换行符来return(按Enter键)。

键盘将在root shell中以恢复模式运行。 (从bash访问)

您始终可以使用实时环境来修复文件。

快速而肮脏的解决方案

文件>复制一份

您可以在Mapper Sheet中定义布局。

单个字符条目被转换为程序理解的代码。 (!变为U0021)。支持Unicode!

字符串不会被翻译并按原样处理。请确认没有拼写或案例错误!

空方块自动填充VoidSymbol。

XKB-Sort

包含密钥组,例如:

key { [U0021, U0021, U0021, U0021, U0021, U0021, U0021, U0021] };

key { [U005B, U005B, U005B, U005B, U005B, U005B, U005B, U005B] };

key { [U005D, U005D, U005D, U005D, U005D, U005D, U005D, U005D] };

key { [U0022, U0022, U0022, U0022, U0022, U0022, U0022, U0022] };

key { [U002A, U002A, U002A, U002A, U002A, U002A, U002A, U002A] };

key { [U007B, U007B, U007B, U007B, U007B, U007B, U007B, U007B] };

key { [U007D, U007D, U007D, U007D, U007D, U007D, U007D, U007D] };

key { [U002F, U002F, U002F, U002F, U002F, U002F, U002F, U002F] };

key { [U0027, U0027, U0037, U0027, U0027, U0027, U0027, U0027] };

key { [U0029, U0029, U0038, U0029, U0029, U0029, U0029, U0029] };

key { [U0028, U0028, U0039, U0028, U0028, U0028, U0028, U0028] };

key { [U005C, U005C, U005C, U005C, U005C, U005C, U005C, U005C] };

在所有8个级别上进行更改:

1234567890-= // Physical Keys

![]"*{}/')(\ // Changed to these characters

XKB Tab也有行。每个其他选项卡都可以忽略(其代码)。

sudo vim /usr/share/X11/xkb/symbols/us

感兴趣的线路:

key.type[group1]="EIGHT_LEVEL"; // Enables 8 levels

modifier_map Control { , }; // 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

参考资料

安装linux ubuntu11系统时,应该如何选择键盘布局,在ubuntu上创建新键盘布局需要哪些步骤?...相关推荐

  1. XenServer 6.5实战系列之十三:图形界面安装Linux Redhat系统

    Citrix目前已经支持发布Linux桌面,然而在XenServer上创建VM和安装图形界面系统是有一定讲究的,为此今天在此跟大家分享如何在XenServer 6.5中部署Red Hat Enterp ...

  2. Win7下硬盘安装Linux双系统

    参考如下两篇文章,基本能搞清楚如何安装. 1. Win7下硬盘安装Linux双系统 Win7下硬盘安装CentOS6.2 http://www.3fwork.com/b902/002405MYM032 ...

  3. win10 下载 linux系统安装教程,win10安装linux双系统的方法是什么_win10装linux双系统的方法...

    最近有朋友问小编win10安装linux双系统的方法是什么,对于这个问题,相信很多朋友都不明白.很多朋友想要体验linux系统,但是又不想删除windows上的数据,那么我们可以在win10上安装li ...

  4. linux随身系统下载,[转载] 随身带着走的作业系统 ~安装Linux作业系统于随身碟~...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 随身带着走的作业系统 ~安装Linux作业系统于随身碟~ 想随时随地都有一套自己的作业系统可使用吗? Linux作业系统有一个超棒的优点就是可携性,安装到 ...

  5. 联想拯救者r7000p安装Linux双系统(二)

    联想拯救者r7000p安装Linux双系统(二) 接上一篇博客:联想拯救者r7000p安装Linux双系统(一) 执行第一条命令之后,会出现一个界面,直接按enter继续就行.然后执行前面的后两条命令 ...

  6. MacBook 通过Boot Camp安装win7双系统时提示缺少所需的CD/DVD驱动器设备驱动程序。

    最近家里的MacBook Air系统出了点问题,把win7删除之后,在再次装回win7的时候出了点问题 提示如下图 通过Boot Camp安装win7双系统时,提示缺少所需的CD/DVD驱动器设备驱动 ...

  7. WIN7下硬盘安装linux双系统教程(EasyBCD法)

    WIN7下硬盘安装linux双系统教程(EasyBCD法)[图文] 一. 准备工作(在WIN7下操作完成) 1   从官网http://www.ubuntu.com/上下载镜像文件,大小接近700M. ...

  8. linux多硬盘损坏,Linux裁剪系统时硬盘损坏的解决方法

    Linux裁剪系统时硬盘损坏的解决方法 在进行系统裁剪时,为了减少等待时间,一般会选择将宿主机挂起并直接运行目标系统,然而过于频繁的操作,往往会造成硬盘无法及时同步,造成硬盘分区损坏,从而造成目标系统 ...

  9. 双系统linux解压后怎么安装,使用easyBCD安装linux双系统教程[多图]

    linux双系统解决了很多电脑的兼容性问题,不过想要安装linux双系统还是有些麻烦的,不过现在你可以来学习手游汇小编教你的使用easyBCD来引导安装linux双系统了. asyBCD如何引导安装l ...

  10. 使用U盘安装cent OS系统时,出现Reached target Basic System的错误,导致进不去安装界面(已解决)

    U盘安装cent OS系统时停在了 Reached target Basic System, 接着是一大串提示信息大概是找不到设备的意思. 大概是这样的情况 问题原因:由于u盘在刻入镜像时,会重命名u ...

最新文章

  1. R语言生成数据及其95%置信区间数据(或者其它区间)、使用geom_ribbon函数为ggplot2图像手动添加置信区间的阴影区域using geom_ribbon to create shaded
  2. 【Excel】VBA自动化更新数据表格
  3. angularAMD快速入门
  4. 2027. 转换字符串的最少操作次数
  5. 让你变成优秀程序员的几个小习惯
  6. Django---ORM操作大全
  7. UI4(事件,手势)
  8. C++冒泡排序(包含初级、正宗及改进三种实现)
  9. RACCommand
  10. Css选择器命名规则
  11. 吴晓慧讲述:“随手记安全吗”网贷平台“出清”利好行业发展
  12. 上市公司财务报表分析
  13. xp系统查计算机设备型号,xp电脑设备型号怎么查询
  14. 微软晓晓朗读录音工具windows-文字转语音
  15. 层板等分衣柜(C++)
  16. 51Nod NOIP2018提高组省一冲奖班模测训练
  17. Java连接打印机打印二维码
  18. RGB 转换为灰度图、二值化图
  19. React / Vue 前后端分离项目实现微信分享教程
  20. 中心极限定理及其应用

热门文章

  1. 图神经网络-图游走类模型-作业
  2. 服务器c盘缓存文件夹,c盘存放缓冲文件的地方在哪里
  3. 常见鸟的种类及特点_湿地鸟类种类及分布特点
  4. axure中继器求和_Axure学习笔记-中继器
  5. 苹果手机上怎么安装ipa文件?
  6. 电子电路仿真软件中文版_汽车电子EMC仿真简介
  7. 什么是PLC?可编程控制器的结构和工作原理介绍
  8. 抖音账号都是如何出售的
  9. c语言char储存字符串,在c语言中char型数据在内存中的储存形式为什么
  10. html5 uc qq,(进阶版)手机浏览器用户体验报告:UC、QQ、360,到底哪个好?