none
What conceptually is a sensor? RRS feed

  • Question

  • I realise that the sensor and location platform team did not start with a blank slate so perhaps there is a lot of legacy baggage in Windows 7. For example the mouse predates Windows itself.

    Given that a lot of this older hardware is already supported in Windows through other APIs, and thus may never be part of the sensor and location platform, what is the criteria used when considering a new piece of hardware to determine if it is a sensor or something else?

    To help you understand the reason for my question, perhaps it is helpful to share the basis for my confusion. A mouse is a "human interface device" in Windows and thus not a sensor. AN XBox controller is supported in Windows, but is not a sensor. An accelerometer that you hold in your hands and use to play an XBox game is a sensor. If an XBox controller is not a sensor then why is the accelerometer not a human interface device?

    Is it simply a matter of historical accident that some of these things are classified as human interface devices rather than sensors?

    Further there are perhaps unexpected consiquences to what is and what is not a sensor. Ambient light is handled by the sensor and location APIs while the laptop battery status is not. If one is trying to do "green" software design with power efficent (thus power aware) applications, one does not want to be adjusting the screen display to consume more power (i.e. bright sunlight mode) at a time when the battery is low on power.
    Monday, June 1, 2009 4:34 PM

Answers

  • John- Thoretically, anything can be a sensor- but we consider sensors to be hardware which measures some physical phenomenon. This could be sensing a human in proximity of the PC, sensing the orientation of the PC (accelerometer, etc), sensing the lighting environment (ambient light sensor), and many other things.

    The easiest way to learn about supported sensors is to read the MSDN docs which cover the sensor profile definitions for categories, types, properties, data, etc:
    http://msdn.microsoft.com/en-us/library/dd318916(VS.85).aspx 

    If you start there, and read the nested topics, you'll learn about the types of sensors we expect to see for Windows 7. 3rd parties can also add to this list of definitions in their own header files. In this way, the Windows sensor platform is fully extensible.

    Thanks,
    Gavin
    Monday, June 1, 2009 7:50 PM

All replies

  • John- Thoretically, anything can be a sensor- but we consider sensors to be hardware which measures some physical phenomenon. This could be sensing a human in proximity of the PC, sensing the orientation of the PC (accelerometer, etc), sensing the lighting environment (ambient light sensor), and many other things.

    The easiest way to learn about supported sensors is to read the MSDN docs which cover the sensor profile definitions for categories, types, properties, data, etc:
    http://msdn.microsoft.com/en-us/library/dd318916(VS.85).aspx 

    If you start there, and read the nested topics, you'll learn about the types of sensors we expect to see for Windows 7. 3rd parties can also add to this list of definitions in their own header files. In this way, the Windows sensor platform is fully extensible.

    Thanks,
    Gavin
    Monday, June 1, 2009 7:50 PM
  • So would a mouse buttion be considered a sensor of SENSOR_TYPE_BOOLEAN_SWITCH ? (assuming of course that the mouse had not already been handled by legacy APIs in Windows)

    How about the Microsoft Fingerprint Reader, is that SENSOR_CATEGORY_BIOMETRIC ? If so, what type would it be?

    Monday, June 1, 2009 8:12 PM
  • Both the mouse and the fingerprint reader could be exposed as human presence when used/clicked (SENSOR_TYPE_HUMAN_PRESENCE under the category  SENSOR_CATEGORY_BIOMETRIC, see http://msdn.microsoft.com/en-us/library/cc974541.aspx).

    Biometric authentication data should be exposed via the Windows Biometrics platform (See http://download.microsoft.com/download/9/c/5/9c5b2167-8017-4bae-9fde-d599bac8184a/WBFIntro.docx).

    Tuesday, June 2, 2009 5:51 PM