author | aquadran <aquadran> | 2007-03-17 22:08:43 (UTC) |
---|---|---|
committer | aquadran <aquadran> | 2007-03-17 22:08:43 (UTC) |
commit | fb862bdc6c9a6f5b6e7529823eb4b56cc7085a59 (patch) (side-by-side diff) | |
tree | 11ab2be67d1ffc1fabdb0cb489bc14205117d8cd /libopie2/opiecore/device/odevice_ipaq.cpp | |
parent | 794f3bb9cf973e59a8ca773f42d72a6476b7a4e1 (diff) | |
download | opie-fb862bdc6c9a6f5b6e7529823eb4b56cc7085a59.zip opie-fb862bdc6c9a6f5b6e7529823eb4b56cc7085a59.tar.gz opie-fb862bdc6c9a6f5b6e7529823eb4b56cc7085a59.tar.bz2 |
match h1910 and asus 716 to other pda latest changes
Diffstat (limited to 'libopie2/opiecore/device/odevice_ipaq.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | libopie2/opiecore/device/odevice_ipaq.cpp | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/libopie2/opiecore/device/odevice_ipaq.cpp b/libopie2/opiecore/device/odevice_ipaq.cpp index 6dc1295..b18fd32 100644 --- a/libopie2/opiecore/device/odevice_ipaq.cpp +++ b/libopie2/opiecore/device/odevice_ipaq.cpp @@ -388,131 +388,130 @@ bool iPAQ::setDisplayBrightness ( int bright ) bool res = false; int fd; if ( bright > 255 ) bright = 255; if ( bright < 0 ) bright = 0; QDir sysClass( "/sys/class/backlight/" ); sysClass.setFilter(QDir::Dirs); if ( sysClass.exists() && sysClass.count() > 2 ) { QString sysClassPath = sysClass.absFilePath( sysClass[2] + "/brightness" ); int fd = ::open( sysClassPath, O_WRONLY|O_NONBLOCK ); if ( fd ) { char buf[100]; int val = bright * displayBrightnessResolution() / 255; int len = ::snprintf( &buf[0], sizeof buf, "%d", val ); res = ( ::write( fd, &buf[0], len ) == 0 ); ::close( fd ); } } else { if (( fd = ::open ( "/dev/touchscreen/0", O_WRONLY )) >= 0 ) { FLITE_IN bl; bl. mode = 1; bl. pwr = bright ? 1 : 0; bl. brightness = ( bright * ( displayBrightnessResolution() - 1 ) + 127 ) / 255; res = ( ::ioctl ( fd, FLITE_ON, &bl ) == 0 ); ::close ( fd ); } } return res; } int iPAQ::displayBrightnessResolution() const { int res = 16; QDir sysClass( "/sys/class/backlight/" ); sysClass.setFilter(QDir::Dirs); if ( sysClass.exists() && sysClass.count() > 2 ) { QString sysClassPath = sysClass.absFilePath( sysClass[2] + "/max_brightness" ); int fd = ::open( sysClassPath, O_RDONLY|O_NONBLOCK ); if ( fd ) { char buf[100]; if ( ::read( fd, &buf[0], sizeof buf ) ) ::sscanf( &buf[0], "%d", &res ); ::close( fd ); } return res; } switch ( model()) { case Model_iPAQ_H31xx: case Model_iPAQ_H36xx: case Model_iPAQ_H37xx: return 128; // really 256, but >128 could damage the LCD case Model_iPAQ_H38xx: case Model_iPAQ_H39xx: return 64; case Model_iPAQ_H5xxx: case Model_iPAQ_HX4700: case Model_iPAQ_H4xxx: - return 255; case Model_iPAQ_H191x: - return 7; + return 255; case Model_iPAQ_H1940: return 44; default: return 2; } } bool iPAQ::setDisplayStatus ( bool on ) { bool res = false; QString cmdline; QDir sysClass( "/sys/class/lcd/" ); sysClass.setFilter(QDir::Dirs); if ( sysClass.exists() && sysClass.count() > 2 ) { QString sysClassPath = sysClass.absFilePath( sysClass[2] + "/power" ); int fd = ::open( sysClassPath, O_WRONLY|O_NONBLOCK ); if ( fd ) { char buf[10]; buf[0] = on ? 0 : 4; buf[1] = '\0'; res = ( ::write( fd, &buf[0], 2 ) == 0 ); ::close( fd ); } } else { res = OAbstractMobileDevice::setDisplayStatus(on); } return res; } bool iPAQ::hasLightSensor() const { switch (model()) { case Model_iPAQ_H191x: case Model_iPAQ_H22xx: case Model_iPAQ_H4xxx: return false; default: return true; } } int iPAQ::readLightSensor() { int fd; int val = -1; if (( fd = ::open ( "/proc/hal/light_sensor", O_RDONLY )) >= 0 ) { char buffer [8]; if ( ::read ( fd, buffer, 5 ) == 5 ) { char *endptr; buffer [4] = 0; val = ::strtol ( buffer + 2, &endptr, 16 ); if ( *endptr != 0 ) val = -1; } ::close ( fd ); } |