1.控制读写、输入的字符设备存储在系统的哪里?
2.如何在系统文件中筛选存储设备?请写出具体步骤。
先切换至系统目录下
遍历系统目录下的所有目录
找到设备信息相关的文件
判断是否为键盘键盘设备(文件是否存在&是否可以读取文件)
若是:将文件路径加入列表
若不是:返回-1
3.监控键盘设备是指什么?具体如何实现?
监控设备即对设备添加文件描述符,监控设备处于各种状态。
将设备映射到某对象中
建立字典,为设备添加文件描述符
4.在监控键盘输入的过程中,用什么库来获取原始数据?用什么库来监听设备状态?处理原始数据的库是如何处理原始数据的?
获取原始数据:evdev
监听设备状态:select库
endev库将设备输入转化成多个event对象,故在函数中需要对其解析
5.对于键盘设备来说,shift、caps状态是各种状态?
6.利用python实现键盘输入监控的总体设计。
找到所有的键盘设备
获取键盘输入的数据
解析从键盘端获取的输入数据
在字符缓冲区处理特殊按键
将获取到的数据通过网络传输至服务器端
7.获取键盘数据过程中要实现哪些功能?实现的步骤又是什么?通过那些工具实现?
1st:要获得需要的键盘设备
产生本地的服务器
关联键盘和本地服务器(设定文本传输任务)
生成缓冲区
通过select库监听键盘设备
读取键盘的输入
2st:先寻找指定键盘
在本地创建服务器
连键盘和服务器用文本传输相关联
将文被传输后教程缓冲池
用select库监听键盘设备,并将键盘操作存储在数组中;
解析键盘操作,生成字符,并将字符存储在缓冲区中。
3st:监听键盘设备使用select库
使用evdev库解析键盘设备的输入,并将每一个输入转化为event对象
筛选类型为EV_key类型的键盘输入
8.解析获取的原始数据和之前的数据有何不同?需要实现哪些功能?
有些按键属于组合键,不能使用传统的方式获取信息,如:shift、caps(本功能可以理解为状态管理的函数)
需要实现的功能:
通过参数传递获取shift、caps的初始状态
通过方法转化其状态
通过方法对转化特定的shift、caps的状态
9.描述linux下与设备驱动相关的文件是如何存储的?