当前位置: 首页 > news >正文

新闻最近的大事10件seo网站推广seo

新闻最近的大事10件,seo网站推广seo,建设网银,物流公司 网站模板因为上一篇文章Ubuntu12.04通过xinput禁用及启用联想笔记本的触摸板,想通过模拟FnF8按键输入禁用触摸板的功能,被禁用后的触摸板上的灯会亮,看着比较安心。于是通过查找各种方法模拟键盘输入。本想通过bash模拟按键输入,没有成功&…

因为上一篇文章Ubuntu12.04通过xinput禁用及启用联想笔记本的触摸板,想通过模拟Fn+F8按键输入禁用触摸板的功能,被禁用后的触摸板上的灯会亮,看着比较安心。于是通过查找各种方法模拟键盘输入。

本想通过bash模拟按键输入,没有成功,只找到一个小命令xdotool key Ctrl+F8,但是使用Fn也是不能识别。想通过C语言或者C++来模拟Fn输入,上网搜索英文、中文结果,也没发现,只介绍了其他普通键的模拟,没有更详细的说明Fn的模拟。网上有关Fn的按键模拟都没有结果。无奈。

在搜索中发现Fn不受OS控制,是由硬件实现的,有的笔记本可以通过BIOS的设置Fn和ctrl互换。但我还是继续查找,没有结果。那就先暂时认为Fn是由硬件实现的吧,不能通过软件模拟出来效果。以下是我做的小测试,勉强能说服我吧。以后再讨论Fn的事情。

我们可以查看下Linux系统中的 /dev/input/event事件,

我们先通过xinput查看一下笔记本的键盘,通过xinput list 看出结果

ddd@ddd:~$ xinput

⎡ Virtual core pointer id=2 [master pointer (3)]

⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]

⎜ ↳ MLK rapoo 1800 id=11 [slave pointer (2)]

⎜ ↳ ETPS/2 Elantech Touchpad id=14 [slave pointer (2)]

⎣ Virtual core keyboard id=3 [master keyboard (2)]

↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]

↳ Power Button id=6 [slave keyboard (3)]

↳ Video Bus id=7 [slave keyboard (3)]

↳ Video Bus id=8 [slave keyboard (3)]

↳ Sleep Button id=9 [slave keyboard (3)]

↳ MLK rapoo 1800 id=10 [slave keyboard (3)]

↳ Lenovo EasyCamera id=12 [slave keyboard (3)]

↳ AT Translated Set 2 keyboard id=13 [slave keyboard (3)]

↳ Ideapad extra buttons id=15 [slave keyboard (3)]

其中”AT Translated Set 2 keyboard“是我的笔记本键盘,查看对应的/dev/input/event是第几个事件。

ddd@ddd:~$ xinput list-props 13

Device 'AT Translated Set 2 keyboard':

Device Enabled (132): 1

Coordinate Transformation Matrix (134): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000

Device Product ID (249): 1, 1

Device Node (250): "/dev/input/event3"

可以看出,我的笔记本的键盘对应的是”/dev/input/event3“。接下来我们就可以通过查看”/dev/input/event3“来看看Linux系统中键盘都有那些数据输入。

sudo hexdump /dev/input/event3

然后就出现等待的状态,我们通过笔记本的键盘敲一下按键,会有9行的数据出来。

0000000 1d34 4fd7 0000 0000 68ae 0002 0000 0000

0000010 0004 0004 001e 0000 1d34 4fd7 0000 0000

0000020 68b4 0002 0000 0000 0001 001e 0001 0000

0000030 1d34 4fd7 0000 0000 68b5 0002 0000 0000

0000040 0000 0000 0000 0000 1d34 4fd7 0000 0000

0000050 57c3 0003 0000 0000 0004 0004 001e 0000

0000060 1d34 4fd7 0000 0000 57c9 0003 0000 0000

0000070 0001 001e 0000 0000 1d34 4fd7 0000 0000

0000080 57c9 0003 0000 0000 0000 0000 0000 0000

说明一下是什么意思吧。

这个在 /linux/input.h中的数据结构中有说明,我们看看具体的数据结构是什么

struct input_event {

struct timeval time; //事件发生的时间

__u16 type; //事件类类型:按键和移动鼠标就是不同类型

__u16 code;

__s32 value; //事件值:按键a和按键b就对应不同值

};

其中有一行会出现自己敲的字符啊”a”,我在结果中省去了。因为我还有一个USB键盘,我在USB键盘中敲字符,在shell中不会出现16进制的数据,只出现我敲的字符。

通过按下Fn键,可以发现我的shell中不显示16进制数据,也不显示任何字符,空空如也。这可以说明,fn键没有触发Linux输入事件,没有收到Linux的监听。

通过 xinput set-prop ‘AT Translated Set 2 keyboard’ ‘Device Enabled’ 0 禁用笔记本的键盘,发现fn+f8照常能工作,即fn键不再Linux设备监控中。但是直接按Fn没有输入效果。和Fn组合就有效果了。奇怪,这个组合不知道在底层是怎么实现的?

不过在查看具体的头文件/linux/input.h,在618行中看见定义KEY_FN及一些其他组合例如

#define KEY_FN 0x1d0

#define KEY_FN_ESC 0x1d1

#define KEY_FN_F1 0x1d2

#define KEY_FN_F2 0x1d3

#define KEY_FN_F3 0x1d4

,难道可以模拟Fn键,这激发了我继续探索的动力,先留这下次查找一些资料看看。

http://www.lbrq.cn/news/2439955.html

相关文章:

  • 太原网站建设dweb简述seo的概念
  • 医院网站管理系统苏州seo快速优化
  • 电子产品的网站建设网络营销项目
  • 省建设厅网站aso排名优化知识
  • 怎么在虚拟机中做网站企业营销策划合同
  • 如何选择深圳网站建设北京网站推广服务
  • 国外成人做视频网站有哪些seo外链要做些什么
  • 纺织网站制作123纺织网百度推广后台登录
  • 试述电子商务网站的建设流程google关键词分析
  • 用vs2012做网站案例网络营销的分类
  • 章丘做网站哪家强魔贝课凡seo课程好吗
  • 有趣的网站设计百度提交链接
  • wordpress 插入文章seo职业规划
  • 桐乡网站二次开发怎么提交百度收录
  • 想接外包做网站南京疫情最新情况
  • h5网页设计报告郴州网站seo
  • 网站建设最好的教程培训平台有哪些
  • 网站设计遇到难题刚刚传来最新消息
  • 模板网站与定制开发网站的区别网络客服
  • 青岛网站排名外包推广公司哪家好
  • wordpress导出出错曲靖seo
  • 加盟营销型网站建设网络营销岗位有哪些
  • 网页制作免费网站建网站一般多少钱
  • 全国婚孕检服务平台小程序seo关键词排名优化方案
  • 网站视频弹窗广告代码百度提升优化
  • 中国机械网官网seo的名词解释
  • dw做网站是静态还是动态红河网站建设
  • 做公司的宣传网站需要注意什么网站分析培训班
  • ps做网站尺寸网络事件营销案例
  • 小程序网站建设百度网站首页
  • Android toybox常用工具介绍
  • Linux权限机制:设计哲学、实现原理与安全实践
  • 性能测试-从0到1搭建性能测试环境Jmeter+Grafana+influxDB+Prometheus+Linux
  • 【kubernetes】-2 K8S的资源管理
  • Vue开发常用库(含npm安装命令)
  • MybatisPlus入门指南