author | sandman <sandman> | 2002-10-28 04:41:42 (UTC) |
---|---|---|
committer | sandman <sandman> | 2002-10-28 04:41:42 (UTC) |
commit | 226ddd19ef0adeb279c3a864e24cbfcf556b2f17 (patch) (side-by-side diff) | |
tree | c1c95e39fa0634a881ffbeba190653dc7ee6201c | |
parent | 37397a824a807195ba440117a6bac0043ea788a1 (diff) | |
download | opie-226ddd19ef0adeb279c3a864e24cbfcf556b2f17.zip opie-226ddd19ef0adeb279c3a864e24cbfcf556b2f17.tar.gz opie-226ddd19ef0adeb279c3a864e24cbfcf556b2f17.tar.bz2 |
- read ( fd, buffer, 4 ); return 5 (!!) for /proc/hal/light_sensor
so we better try to read 5 bytes ...
- small "off by one" fix for the lcd brightness resolution
-rw-r--r-- | libopie/odevice.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/libopie/odevice.cpp b/libopie/odevice.cpp index 6ea4d45..2b7e927 100644 --- a/libopie/odevice.cpp +++ b/libopie/odevice.cpp @@ -671,39 +671,39 @@ bool iPAQ::setDisplayBrightness ( int bright ) } return res; } int iPAQ::displayBrightnessResolution ( ) const { - return 255; // really 128, but logarithmic control is smoother this way + return 256; // really 128, but logarithmic control is smoother this way } bool iPAQ::hasLightSensor ( ) const { return true; } - +#include <errno.h> +#include <string.h> int iPAQ::readLightSensor ( ) { int fd; int val = -1; if (( fd = ::open ( "/proc/hal/light_sensor", O_RDONLY )) >= 0 ) { - char buffer [5]; + char buffer [8]; - if ( ::read ( fd, buffer, 4 ) == 4 ) { + if ( ::read ( fd, buffer, 5 ) == 5 ) char *endptr; buffer [4] = 0; val = ::strtol ( buffer + 2, &endptr, 16 ); if ( *endptr != 0 ) val = -1; } - ::close ( fd ); } return val; } @@ -943,13 +943,13 @@ bool Zaurus::setDisplayBrightness ( int bright ) return res; } int Zaurus::displayBrightnessResolution ( ) const { - return 4; + return 5; } //QValueList <int> Zaurus::keyList ( ) const //{ // QValueList <int> vl; // vl << HardKey_Datebook << HardKey_Contacts << HardKey_Mail << HardKey_Menu << HardKey_Home << HardKey_Suspend << HardKey_Backlight; |