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 | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/libopie/odevice.cpp b/libopie/odevice.cpp index 6ea4d45..2b7e927 100644 --- a/libopie/odevice.cpp +++ b/libopie/odevice.cpp @@ -673,35 +673,35 @@ bool iPAQ::setDisplayBrightness ( int bright ) } 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; @@ -945,9 +945,9 @@ bool Zaurus::setDisplayBrightness ( int bright ) int Zaurus::displayBrightnessResolution ( ) const { - return 4; + return 5; } //QValueList <int> Zaurus::keyList ( ) const //{ |