LINUX输入设备抽象

最近在些GUI程序,之前也写过一些。长久以来一直对其中一些问题有些好奇,如:鼠标事件和键盘事件是如何获取如何引入程序的,GUI底层绘制操作又是怎么实现的。最近花了点事件学习了下其底层的实现,在这里做个笔记。    LINUX下输入设备放在/dev/input/下,我的电脑该目录内容为:lc@lc-Lenovo:~/work/sources$ cd /dev/input/lc@lc-L
摘要由CSDN通过智能技术生成

    最近在些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"
P: Phys=usb-0000:00:1d.0-1.4/input0
S: Sysfs=/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4/2-1.4:1.0/input/input3
U: Uniq=
H: Handlers=mouse0 event3 
B: PROP=0
B: EV
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值