LINUX输入设备抽象

这篇博客探讨了LINUX系统中输入设备,如鼠标和键盘的驱动机制。作者指出,这些设备在/dev/input/目录下,并拥有唯一ID。通过获取设备句柄并使用SELECT或epoll监听,可以在设备有事件时读取并处理输入信息。文章以输入事件的分发和鼠标右键操作为例,展示了事件处理的过程。

    最近在些GUI程序,之前也写过一些。长久以来一直对其中一些问题有些好奇,如:鼠标事件和键盘事件是如何获取如何引入程序的,GUI底层绘制操作又是怎么实现的。最近花了点事件学习了下其底层的实现,在这里做个笔记。

    LINUX下输入设备放在/dev/input/下,我的电脑该目录内容为:

lc@lc-Lenovo:~/work/sources$ cd /dev/input/
lc@lc-Lenovo:/dev/input$ ls
by-id    event0  event10  event3  event5  event7  event9  mouse0
by-path  event1  event2   event4  event6  event8  mice

    这么多设备我们需要知道哪个设备对应鼠标哪个对应键盘,可以查看文件/proc/bus/input/devices,我的电脑下该文件鼠标和键盘相关信息为:

I: Bus=0011 Vendor=0001 Product=0001 Version=ab41
N: Name="AT Translated Set 2 keyboard"
P: Phys=isa0060/serio0/input0
S: Sysfs=/devices/platform/i8042/serio0/input/input2
U: Uniq=
H: Handlers=sysrq kbd event2 
B: PROP=0
B: EV=120013
B: KEY=4 2000000 3803078 f800d001 feffffdf ffefffff ffffffff fffffffe
B: MSC=10
B: LED=7

I: Bus=0003 Vendor=17ef Product=6019 Version=0111
N: Name="Logitech Lenovo USB Optical Mouse"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值