summaryrefslogtreecommitdiff
authorsandman <sandman>2002-10-28 04:41:42 (UTC)
committer sandman <sandman>2002-10-28 04:41:42 (UTC)
commit226ddd19ef0adeb279c3a864e24cbfcf556b2f17 (patch) (side-by-side diff)
treec1c95e39fa0634a881ffbeba190653dc7ee6201c
parent37397a824a807195ba440117a6bac0043ea788a1 (diff)
downloadopie-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
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--libopie/odevice.cpp14
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
//{