linux input event 子系统

linux input event 子系统,第1张

一、linux input 子系统中,每个输入设备可以建立一个devices,如插入USB mouse的时候会建立,在系统、dev/input目录下就会生成一个对应的device,如:/dev/input/event0,可以通过读取device获取输入设备的信息 具体可以访问http://blog.sina.com.cn/s/blog_602f87700101dno6.html

0.1:关键结构体input_event信息:

struct input_event {

struct timeval time

__u16 type

__u16 code

__s32 value

}

type: 设备类型。可以设置为:

sdk封装的解决思路;

type:EV_REL鼠标设备 0x02

code : rel_x 0x00 表示x轴方向 rel_y 0x01 表示y轴方向 (一次鼠标移动会产生两个input event事件

value: EV_REL type下有正负表示方向

介绍键盘的code

Type为EV_KEY时,value: 0表示按键抬起。1表示按键按下。(4表示持续按下等?)。

问题:因为会出现一次鼠标移动就有两个事件产生,所以就要判断这一时刻到底是哪个事件

方法:

鼠标事件:

上1

下0

左2

右3

键盘事件:

上103

下108

左105

右106

停28

蓝牙键盘

1:2

2:3

3:4

4:5

5:6

w:17

a:30

s:31

d:32

Linux中输入设备的事件类型有:

EV_SYN 0x00 同步事件

EV_KEY 0x01 按键事件

EV_REL 0x02 相对坐标

EV_ABS 0x03 绝对坐标

EV_MSC 0x04 其它

EV_LED 0x11 LED

EV_SND 0x12 声音

EV_REP 0x14 Repeat

EV_FF 0x15 力反馈

EV_LED LED灯事件

EV_SND 声音事件

EV_REP 重复按键事件

EV_FF 受力事件

EV_PWR 电源事件

EV_FF_STATUS 受力状态事件

wls1启动快,性能差,兼容性差。

wls2启动慢,性能略好,兼容性略好。

无论是1还是2都不支持图形,都无法直接访问硬件设备。比如硬盘设备,比如显卡GPU等等。

在使用体验上,就是阉割了图形,弱化了兼容性,并强化性能后的虚拟机。

一开始新鲜,觉得还不错,遇到一两个BUG以后,就基本不用了。还是真正的linux发行版更好。

Win10中的Linux子系统安装:

1、开启开发人员模式。在win10中使用linux子系统,需要开启“开发人员模式”。依次打开【设置】--》【更新和安全】--》【针对开发人员】,勾选“开发人员模式”

2、打开【启用或者关闭windows功能】。在【启用或者关闭windows功能】开启使用于“适用于linux的windows子系统”。

PS:此界面在【控制面板】的【程序】界面中。win10创意者更新之后,可以直接在搜索中输入“程序”,可以快速打开这个界面,开启windows功能需要重启,此处需要重启一次

3、安装linux子系统。

电脑重启后,打开cmd,输入“bash”,此时提示需要从微软app商店下载ubuntu系统。然后一路’yes‘,等待安装结束

4、安装linux完成后,在cmd或者power shell输入bash,就可以进入linux子系统了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/6080851.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-14
下一篇 2023-03-14

发表评论

登录后才能评论

评论列表(0条)

保存