Hi, >> > But then comes another question: what to do with >> > magnetometers, gyroscopes, etc etc ?? >> >> If we make a extensible sensor driver, I think we can add these new etc >> sensors in the future. step by step. > > agreed here. But we have to think that this might get extended, so we > should start thinking of an abstraction layer that could evolve for > magnetometers, gyroscopes and other sensors Agree with you, there should be an abstraction layer. According to this, we should collect similar functionalities in one module and make sub-module describing exceptions devices or ones that needs special handling. But in the end for the user space apps, they should "see" an accelerometer in a standard way. All exceptions and pre-handling should be done in the abstraction layer as described. We can't bring as many full drivers as devices found, but one driver serving for a group and that can load submodules when necessary. The way HID is coded in Linux is an example for that, dealing with many types of devices. It isn't perfect, but its architecture can be used for other devices. To stay with accelerometers, they are sensors, and sensors sense physical properties. Every device use its own methods but in the end they sense the same thing and user wait for a similar feedback. I post a link describing the HID standard, you can see in page 37 to 39 how they define units, and exponents for sensors. http://www.usb.org/developers/devclass_docs/HID1_11.pdf Also, we can't imagine all use cases and scenarios, we should bring useful information to userspace apps and they do what they want with these informations. KDE developers may use sensors to automatically rotate the screen 90°/180° if the laptop is rotated. Others will use it to play games, Some others will use light sensors to lighten the keyboard or to change the brightness of the screen,... What do you think ? _ ikbel -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html