阅读量:2
引言
EV_REL 表示相对位移(比如鼠标), EV_ABS 表 示绝对位置(比如触摸屏)
为什么鼠标是相对位移,触摸屏绝对位置?
总结
在Linux操作系统中,输入设备如鼠标和触摸屏通过事件设备接口(Event Device Interface)来与系统交互。这个接口定义了一组事件类型,用于描述设备生成的输入事件。其中,EV_REL
和EV_ABS
是两种不同的事件类型,分别代表相对位移和绝对位置。
EV_REL (相对位移):
- 相对位移事件是指输入设备报告的是一个相对于上一个位置的移动量。例如,鼠标移动时,它不会告诉系统它在屏幕上的确切位置,而是告诉系统它从上一个位置移动了多少像素。这种类型的输入适合于鼠标,因为鼠标通常需要在屏幕上自由移动,而不需要知道其绝对位置。
- 鼠标使用相对位移的优势在于它可以快速响应用户的移动,并且不需要知道鼠标在屏幕上的确切位置。
EV_ABS (绝对位置):
- 绝对位置事件是指输入设备报告的是其在某个坐标系统中的确切位置。例如,触摸屏在用户触摸屏幕时,会报告触摸点在屏幕上的确切坐标。这种类型的输入适合于触摸屏,因为用户通常希望直接与屏幕上的某个特定位置交互。
- 触摸屏使用绝对位置的优势在于用户可以精确地选择屏幕上的元素,并且系统可以根据触摸点的坐标来确定用户的操作意图。
简而言之,鼠标使用相对位移是因为用户在使用鼠标时通常不需要知道鼠标的确切位置,而是通过鼠标指针的移动来导航。而触摸屏使用绝对位置是因为用户通过触摸直接与屏幕上的元素交互,需要知道触摸点的确切位置。这两种不同的事件类型使得不同的输入设备能够以最适合它们使用方式的形式与系统进行交互。