Linux命令loadkeys详解

loadkeys

Linux loadkeys 命令是用来加载或修改键盘驱动程序的转换表的。它可以根据一个键盘定义表改变Linux键盘驱动程序转译键盘输入过程。它的主要用途是为控制台加载内核键盘映射。你可以通过-C(或--console)选项指定控制台设备。详细的说明请参考 dumpkeys

安装

在 Linux 中输入以下命令安装 loadkeys

# Debian或Ubuntu 系统
[linux@l1mn.com ~]$ sudo apt-get install kbd console-data

# CentOS 7/基于RedHat/Fedora 系统
[linux@l1mn.com ~]$ sudo yum install kbd

# CentOS 8 系统
[linux@l1mn.com ~]$ sudo dnf install kbd

# 基于Arch/Manjaro 系统
[linux@l1mn.com ~]$ sudo pacman -S kbd

Linux loadkeys 命令适用于大多数 Linux 发行版,如Debian, Ubuntu, Fedora, CentOS, RedHat, Manjaro等。

语法

loadkeys [选项]... [文件名]...

如果没有指定文件名,loadkeys 命令会从标准输入读取数据。如果指定了多个文件名,loadkeys 命令会按顺序处理它们。如果文件名是破折号(-),loadkeys 命令会从标准输入读取数据。

选项

  • -d, --default : 加载默认的键盘映射,可能是defkeymap.map文件
  • -h, --help : 显示帮助信息并退出
  • -q, --quiet : 不显示任何信息
  • -v, --verbose : 显示详细的信息,可以重复以增加详细度
  • -m, --mktable : 创建一个内核源码表,用于编译内核
  • -c, --clearcompose : 清除所有组合键的定义
  • -s, --clearstrings : 清除所有字符串的定义
  • -C, --console <控制台> : 指定要操作的控制台设备
  • -u, --unicode : 设置Unicode模式
  • -a, --ascii : 设置ASCII模式

实例

# 加载默认的键盘映射
[linux@l1mn.com ~]$ loadkeys -d

# 加载指定的键盘映射文件
[linux@l1mn.com ~]$ loadkeys uk

# 从标准输入读取键盘映射数据
[linux@l1mn.com ~]$ loadkeys -

# 创建一个内核源码表
[linux@l1mn.com ~]$ loadkeys -m

# 清除所有组合键的定义
[linux@l1mn.com ~]$ loadkeys -c

# 清除所有字符串的定义
[linux@l1mn.com ~]$ loadkeys -s

# 指定要操作的控制台设备
[linux@l1mn.com ~]$ loadkeys -C /dev/tty2

# 设置Unicode模式
[linux@l1mn.com ~]$ loadkeys -u

# 设置ASCII模式
[linux@l1mn.com ~]$ loadkeys -a

# 显示详细的信息
[linux@l1mn.com ~]$ loadkeys -v

例子:定义按键组合

<pre>
# loadkeys 
control alt keycode 88 = F80 //现确定键代码
string F80="l1mn.com" //给变变量设定值
//按下 Ctrl + D键 确定输入

//效果:按下 Ctrl +Alt + F12 输出 Lx138.Com

# dumpkeys --funcs-only //显示功能键

……省略部分结果
string F3 = "\033[[C"
string F4 = "\033[[D"
string F5 = "\033[[E"
string F6 = "\033[17~"
string F7 = "\033[18~"
string F8 = "\033[19~"
string F9 = "\033[20~"
string F10 = "\033[21~"
string F11 = "\033[23~"
string F12 = "\033[24~"
string F13 = "\033[25~"
string F14 = "\033[26~"
string F15 = "\033[28~"
string F16 = "\033[29~"
string F17 = "\033[31~"
string F18 = "\033[32~"
string F19 = "\033[33~"
string F20 = "\033[34~"
string Find = "\033[1~"
string Insert = "\033[2~"
string Remove = "\033[3~"
string Select = "\033[4~"
string Prior = "\033[5~"
string Next = "\033[6~"
string Macro = "\033[M"
string Pause = "\033[P"
string F80 = "l1mn.com"

Linux loadkeys命令的注意事项

  1. loadkeys 命令只能在控制台运行,不能在图形界面下运行。
  2. loadkeys 命令需要root权限,或者属于input组的用户。
  3. loadkeys 命令会影响所有的虚拟控制台,如果要恢复默认的键盘映射,可以使用 -d 选项。
  4. 如果在使用 loadkeys 命令时遇到报错信息 bash: loadkeys: command not found ,那么可能是系统中没有安装对应的 kbd 包,你可以按照上面的安装步骤进行安装。

皖ICP备2023023451号

Copyright © L1MN.COM 联系方式:l1mnfw@163.com