览 (SYNOPSIS)

showkey [ -[hVskm] | --help | --version | --scancodes | --keycodes | --keymap ] [ -t N | --timeout=N ]

描述 (DESCRIPTION)

按下/松开 任一个 键 时, showkey 在 标准输出 显示 对应的 扫描码(scan code), 键盘码(keycode), 或者 字符值. 如果 连续 10 秒钟 没发生 按下/松开 按键 事件 (该值 可用 --timeout 或 -t 设置), 本程序 自动 结束. 来自 其他进程 的 某些 信号 也可以 结束 程序, 例如 SIGTERM.

showkey 有 三种 操作模式, 显示 扫描码, 键盘码, 以及 测试 键盘映射(keymap), 可以 通过 命令行选项 选择 操作模式.

命令 (COMMAND)

-h, --help
showkey 在 标准错误 上 显示 版本号, 简短 的 用法, 然后 结束.

-V, --version
showkey 在 标准错误 上 显示 版本号, 然后 结束.

-s, --scancodes
显示 扫描码.

在 这个模式 下, showkey 以 十六进制数 形式 显示 来自 键盘 的 每个 字节. 如果 两个 字节 间隔达到 0.1 秒, 或者 接收缓冲 已满, showkey 就 输出 一个 换行符. 可以 用它 大致 确定 某个键 按下 时, 键盘 输出 什么 字节序列. 扫描码模式 主要 用来 调试 键盘驱动程序, 或者 其他 类似的 低层 接口. 终端用户 对它 不太有 兴趣.

-k, --keycodes
显示 键盘码. 这是 缺省模式.

在 这个模式 下, showkey 显示 每个键 按下 或 松开 时 对应的 键盘码. 键盘码 是 内核 分配给 每个 物理 按键 的 数值. 无论 键盘 输出 单个 还是多个 扫描码, 每个 按键 只能 对应 一个 键盘码. 使用 这个模式, 当 用户 制作自己的 键盘映射文件 时, showkey 能够 查出 所需的 数值.

-m, --keymap
显示 键盘映射.

在 这个模式 下, showkey 显示 内核 根据 当前 键盘映射表 翻樊伟胜译 出来 的 字符. 它 可能 对 安装程序 的 作者 有用, 允许 用户 在 确认 安装 前 测试 新的 键盘.

选项 (OPTION)

-t N, --timeout=N
这个选项 用于 修改 超时值 (单位为秒), 取代 预设的 10 秒. 

showkey - 检查来自键盘的扫描码和键盘码的更多相关文章

  1. HTML5实现扫描识别二维码/生成二维码

    扫描识别二维码 思路: 1. 操作摄像头,获取图片.HTML5 WEBRTC的navigator.getUserMedia方法去实时获取摄像头资源.  2. 利用canvas使用相关算法分析图片识别图 ...

  2. Cesium专栏-雷达遮罩动态扫描(附源码下载)

    Cesium 是一款面向三维地球和地图的,世界级的JavaScript开源产品.它提供了基于JavaScript语言的开发包,方便用户快速搭建一款零插件的虚拟地球Web应用,并在性能,精度,渲染质量以 ...

  3. 微信小程序扫描普通二维码打开小程序的方法

    很久没有写博客了,之前换了一份工作,很久没有做Android开发了,现在转做前端开发了,记录一下遇到的问题及解决的方法. 最近做微信小程序开发,遇到一个需求,后台管理系统生成的问卷和投票会有一个二维码 ...

  4. EventBus源码解析 源码阅读记录

    EventBus源码阅读记录 repo地址: greenrobot/EventBus EventBus的构造 双重加锁的单例. static volatile EventBus defaultInst ...

  5. 第二节 EAN 8 码 / EAN 13 码

    EAN码的全名为欧洲商品条码(European Article Number),源於西元1977年,由欧洲十二个工业国家所共同发展出来的一种条码.目前已成为一种国际性的条码系统.EAN条码系统的管理是 ...

  6. 系统软键盘">Android在外接物理键盘时,如何强制调用系统软键盘?

    第一次写,写的不好请见谅 物理键盘映射过程: 手机/system/usr/keylayout/*.kl :内核将keyCode映射成有含义的字符串KeycodeLabels.h : framework ...

  7. 学习:二维码、QR码、J4L-QRCode、java

    开源码 Java 解码器(编码解码)下载:http://sourceforge.jp/projects/qrcode/downloads/28391/qrcode.zip Java QR Code O ...

  8. node.js Websocket实现扫码二维码登录---GoEasy

    最近在做一个扫码登录功能,为此我还在网上搜了一下关于微信的扫描登录的实现方式.当这个功能完成了后,我决定将整个实现思路整理出来,方便自己以后查看也方便其他有类似需求的程序猿些. 要实现扫码登录我们需要 ...

  9. C(++) Websocket实现扫码二维码登录---GoEasy

    最近在做一个扫码登录功能,为此我还在网上搜了一下关于微信的扫描登录的实现方式.当这个功能完成了后,我决定将整个实现思路整理出来,方便自己以后查看也方便其他有类似需求的程序猿些. 要实现扫码登录我们需要 ...

随机推荐

  1. Linux之lrzsz命令的安装

    Linux之lrzsz命令的安装 1. lrzsz简介 什么是lrzsz? lrzsz是一款在linux里可代替ftp上传和下载的程序.在linux里可代替ftp上传和下载 rz:上传文件到服务器 s ...

  2. EBCDIC to ASCII

    EBCDIC to ASCII https://www.ibm.com/support/knowledgecenter/SSZJPZ_11.7.0/com.ibm.swg.im.iis.ds.parj ...

  3. MAT in eclipse - memory analyzer

    In Help > Install New Software..., enter the following update site URL: http://download.eclipse.o ...

  4. [算法学习]开始leetcode之旅

    在此记录一下用javascript刷leetcode的过程,每天都要坚持! 1.Two Sum Given an array of integers, find two numbers such th ...

  5. SQL执行顺序和coalesce以及case when的用法

    1.mysql的执行顺序 from on join where group by having select distinct union   //UNION 操作符用于合并两个或多个 SELECT ...

  6. vue项目放在IE上页面空白的问题

    Babel是一个广泛使用的转码器,可以将ES6代码转为ES5代码 1.npm install babel-polyfill --save 2.main.js中引入 import 'babel-poly ...

  7. cnpm 安装和 command not found

    安装cnpm出错 > $ npm install -g cnpm --registry=https://registry.npm.taobao.org 按照淘宝 NPM 镜像安装,cnpm -v ...

  8. 2019牛客多校第六场 B - Shorten IPv6 Address 模拟

    B - Shorten IPv6 Address 题意 给你\(128\)位的二进制,转换为十六进制. 每\(4\)位十六进制分为\(1\)组,每两组用一个\(":"\)分开. 每 ...

  9. 九、async、future、packaged_task、promise

    std::async.std::future创建后台任务并返回值. 希望线程返回一个值. std::async是个函数模板,用来启动一个异步任务,返回一个std::future对象 异步任务:自动创建 ...

  10. 51nod 1486 大大走格子(容斥+dp+组合数)

    传送门 解题思路 暴力容斥复杂度太高,无法接受,考虑用\(dp\).设\(f(i)\)表示从左上角开始不经过前面的阻断点,只经过\(i\)的阻断点.那么可以考虑容斥,用经过\(i\)的总方案数减去前面 ...