linux方向键ascii_Linux
对于英语来说,键盘上的字母键直接和英语字母表中的字母对应,但是对于非英语的语种来说,情况就不太一样了。例如,德语中的“ß”字母就没有直接的键和它对应,为此,Linux 提供“键盘映射”或“键盘翻译”,利用键盘映射可将某些键转换为特殊键。
前面提到,X Window 直接处理了键盘的输入输出端口,因此,在 Linux 虚拟控制台下和 X Window 下使用不同的键盘映射方法。在 Linux 虚拟控制台上,可利用 loadkeys 命令将特殊按键映射为特殊字符;而在 X Window 中,必须使用 xmodmap 命令完成键盘映射。这些命令均按照字符映射表文件(文本文件)中的规定完成相应的转换。在 X Window 启动时,它会参考 Linux 文本模式下的字符映射表,因此可获得某些一致的键映射。
字符映射表文件保存在 /usr/lib/kbd/keytables 目录下,defkeymap.map 是默认的字符映射表文件。利用命令:
$ loadkeys fr.map
可装入 fr.map 所规定的字符映射表。这时,按下“.”会显示“:”。命令
$ loadkeys –d
可装入默认字符映射表。对于非默认的键盘映射,可在启动时在 shell 脚本中装入特殊的映射表。
对X Window 而言,它对键盘的处理过程分如下两个步骤:
1.X Server 首先将键码转换为键符号名(keysym)。文件 /usr/include/X11/keysymdef.h 中包含所有的符号名。X Server 能够区分修饰键带来的不同,因为 keysymdef.h 中区分了两种不同的键,例如对“a”和“A”,分别用“KS_a”和“KS_A”定义。
2.X Server 将键符号翻译为 ASCII 字符串。对于大多数的键来说,该字符串只包含一个字符,而对于功能键等特殊按键来说,则包含多个字符。例如,F5 键对应的默认 ASCII 字符串为 “5~”。
利用 xmodmap 工具可修改键盘和键符号名之间的对应关系。例如,X Window 中“A”的键码为 30,而“Q”的键码为16。如果建立文件 maptest:
keycode 38 = A
keycode 24 = Q
在 xterm 中运行
$ xmodmap maptest
之后,将发现“A”键和“Q”键交换了过来。
上述的 maptest 文件实际就是一个简单的 X Window 映射文件。但需要注意的是,文件中的 keycode 和 Linux 内核对键值的定义是不一样的,一般而言,X Window 中的键码要比内核的键值大 8。利用 showkey 命令可以查看内核对键值的定义。例如,运行 showkey 并前后按下“A”和“Q”后,程序的输出为:
$ showkey
kb mode was RAW
...
keycode 30 press
keycode 30 press
keycode 16 press
keycode 16 press
该程序给出的是“A”和“Q”的内核键值。
在 XF86Config 文件中,Keyboard 段用来指定键盘参数,一般而言,这些参数不需要特殊设置:
Section “Keyboard”
Protocol “Standard”
AutoRepeat 500 5
EndSection
linux方向键ascii_Linux相关推荐
- linux方向键ascii_Linux终端下的退格和删除键^H ^? ^[[3~ 杂记
起源 有时候为了学好Linux, 得要懂一些Unix考古学. 比如为什么Emacs的默认快捷键那么难按, 又比如烦人的换行符 \r和\n, 以及这次的^H ^? ^[[3~. 目前我看到讲考古学讲得最 ...
- linux方向键ascii_上下左右 方向键的ASCII码值是多少?
展开全部 linux下通过设置终端不回显(不用按回车即可输入), my_getch()主要是对getchar需要按回车才显示进行的62616964757a686964616fe58685e5aeb9 ...
- Linux下使用Vi是方向键变乱码 退格键不能使用的解决方法
在Linux下编辑一些文件.这就涉及到了vi这个编辑器了.在Linux下,初始使用vi的时候有点问题.就是在编辑模式下使用方向键的时候,并不会使光标移动,而是在命令行中出现[A [B [C [D之类的 ...
- Unix/Linux操作系统中如何在sqlplus/rman中使用方向键
默认情况下在Unix/Linux中使用Oracle的sqlplus/rman是无法使用↑↓←→几个方向键进行操作的,要想达到Windows下使用sqlplus/rman的效果需要安装rlwrap. r ...
- linux下如何捕捉方向键
最近一直在完善自己linux下shell的项目,遇到了一个难处就是如何实现方向键在shell中的功能,那么要实现这个功能首先就应该要学会如何抓取方向键的输入,毕竟方向键的输入和平常的输入不同. 首先我 ...
- Linux服务器出现方向键、退格键乱码等现象解决
Linux服务器出现方向键乱码.source命令找不到.命令提示符没有用户名问题解决 存在问题 解决方案 存在问题 方向键.退格键乱码 source命令找不到 命令提示符没有用户名.路径等信息 刚刚创 ...
- 解决linux vi/vim或命令行出现方向键、删除出现乱码
解决linux环境vi/vim出现方向键.删除出现乱码的问题 按如下步骤操作 使用root权限打开文件vimrc.tiny,命令如下: sudo vi /etc/vim/vimrc.tiny 解决方向 ...
- Linux入门——与目录相关的一些命令(pwd、ls、cd)及tab和上下方向键的使用
终于可以感受输入命令的快乐啦!这次就先让我们来了解一些与目录相关的命令,话不多说,我们开始吧! 目录 为什么学习Linux终端命令? 与目录相关的一些命令 pwd:显示当前所处位置 ls:列出所处目录 ...
- Linux (Ubuntu)使用vi和vim方向键变成了ABCD
ubuntu下 vi输入方向键会变成ABCD,这是ubuntu预装的是vim tiny版本,安装vim full版本即可解决. 首先,卸载了原有的vim $ sudo apt-get remove v ...
最新文章
- 为什么你写的代码糟透了?
- 使用 Visual Studio Online 进行协同开发
- irq domain介绍和代码导读
- WebLogic Platform 8.1 SP3 简体中文版发行
- linux内存管理机制
- 3des base64 java_java和c++中的DES\3DES\Base64
- whea_uncorrectable_error蓝屏代码
- plc应用与c语言编程区别,PLC编程与应用入门基础知识
- gitbook生成目录toc
- Linux-Ubuntu系统配置深度学习环境搭建
- pathon的基本语法
- YOLOV5训练代码train.py注释与解析
- html格式转换word清除格式,Word2010怎么清除格式?word清除格式(图文)教程
- 【技术邻】基于有限元方法的整车风噪仿真分析
- mac 类似matlab,10款Mac上科研人员必备的科研工具推荐和下载 | 玩转苹果
- 羲和能源大数据平台使用教程
- 中科院博士教你如何查找外文文献
- 在虚拟机Virtual box搭建linux环境
- java同一个包是什么意思_java中包到底是什么意思?包访问权限又是什么意思,有C++基础。...
- 去哪儿网机票搜索系统的高并发架构设计(要点节选)
热门文章
- 学习WPF: 创建数据绑定目录树
- office 在线浏览和编辑 部署 Office Web Apps Server
- matlab学习--语言基础
- 在mysql中如何添加函数库_详细讲解如何为MySQL数据库添加新函数
- c语言为什么运行慢,【图片】今天写几个性能测试,为什么C语言跑得这么慢呢??【c语言吧】_百度贴吧...
- vs2013 没有ef mysql_vs2013 EF Mysql
- ansible-handlers
- MySQL5.7.的备份恢复方案。
- DataTable克隆行
- 从零开始搭建webpack+react开发环境