author | mickeyl <mickeyl> | 2003-12-30 02:17:25 (UTC) |
---|---|---|
committer | mickeyl <mickeyl> | 2003-12-30 02:17:25 (UTC) |
commit | b53d9bc11a1e35e52f2fda4586ba8a53f8e0b48a (patch) (side-by-side diff) | |
tree | 98db0a0053c53e98ba758773f80ad8e14c9564c9 | |
parent | b636d3d91e8456b22bc450b3d7f3a862b7f615a9 (diff) | |
download | opie-b53d9bc11a1e35e52f2fda4586ba8a53f8e0b48a.zip opie-b53d9bc11a1e35e52f2fda4586ba8a53f8e0b48a.tar.gz opie-b53d9bc11a1e35e52f2fda4586ba8a53f8e0b48a.tar.bz2 |
fix a problem in the c7x0 backlight handling...
Bah! Got confused by the input interval for ODevice::setDisplayBrightness()
(once) again - it has been ridiculous to scale that down from [0-255] to the actual
interval since the day we invented ODevice::displayBrightnessResolution().
I'm going to remove that antique cruft soon.
-rw-r--r-- | libopie/odevice.cpp | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/libopie/odevice.cpp b/libopie/odevice.cpp index bc09e92..82a0099 100644 --- a/libopie/odevice.cpp +++ b/libopie/odevice.cpp @@ -1552,17 +1552,17 @@ bool Zaurus::isZaurus() break; } int loc = line. find ( ":" ); if ( loc != -1 ) model = line. mid ( loc + 2 ). simplifyWhiteSpace( ); - if ( model == "Sharp-Collie" - || model == "Collie" + if ( model == "Sharp-Collie" + || model == "Collie" || model == "SHARP Corgi" - || model == "SHARP Shepherd" - || model == "SHARP Poodle" + || model == "SHARP Shepherd" + || model == "SHARP Poodle" || model == "SHARP Husky" ) is_zaurus = true; } return is_zaurus; @@ -1575,16 +1575,16 @@ void Zaurus::init ( ) d-> m_vendor = Vendor_Sharp; m_embedix = true; // Not openzaurus means: It has an embedix kernel ! // QFile f ( "/proc/filesystems" ); QString model; - // It isn't a good idea to check the system configuration to - // detect the distribution ! + // It isn't a good idea to check the system configuration to + // detect the distribution ! // Otherwise it may happen that any other distribution is detected as openzaurus, just - // because it uses a jffs2 filesystem.. + // because it uses a jffs2 filesystem.. // (eilers) // if ( f. open ( IO_ReadOnly ) && ( QTextStream ( &f ). read ( ). find ( "\tjffs2\n" ) >= 0 )) { QFile f ("/etc/oz_version"); if ( f.exists() ){ d-> m_vendorstr = "OpenZaurus Team"; d-> m_systemstr = "OpenZaurus"; @@ -1693,24 +1693,24 @@ void Zaurus::initButtons ( ) struct z_button *zb = pz_buttons + i; ODeviceButton b; b. setKeycode ( zb-> code ); b. setUserText ( QObject::tr ( "Button", zb-> utext )); b. setPixmap ( Resource::loadPixmap ( zb-> pix )); - b. setFactoryPresetPressedAction ( OQCopMessage ( makeChannel ( zb-> fpressedservice ), + b. setFactoryPresetPressedAction ( OQCopMessage ( makeChannel ( zb-> fpressedservice ), zb-> fpressedaction )); - b. setFactoryPresetHeldAction ( OQCopMessage ( makeChannel ( zb-> fheldservice ), + b. setFactoryPresetHeldAction ( OQCopMessage ( makeChannel ( zb-> fheldservice ), zb-> fheldaction )); d-> m_buttons-> append ( b ); } reloadButtonMapping ( ); QCopChannel *sysch = new QCopChannel ( "QPE/System", this ); - connect ( sysch, SIGNAL( received( const QCString &, const QByteArray & )), + connect ( sysch, SIGNAL( received( const QCString &, const QByteArray & )), this, SLOT( systemMessage ( const QCString &, const QByteArray & ))); } #include <unistd.h> #include <fcntl.h> #include <sys/ioctl.h> @@ -1961,28 +1961,30 @@ bool Zaurus::setSoftSuspend ( bool soft ) return res; } bool Zaurus::setDisplayBrightness ( int bright ) { + //qDebug( "Zaurus::setDisplayBrightness( %d )", bright ); bool res = false; int fd; if ( bright > 255 ) bright = 255; if ( bright < 0 ) bright = 0; if ( m_embedix ) { if ( d->m_model == Model_Zaurus_SLC7x0 ) { + //qDebug( "using special treatment for devices with the corgi backlight interface" ); // special treatment for devices with the corgi backlight interface if (( fd = ::open ( "/proc/driver/fl/corgi-bl", O_WRONLY )) >= 0 ) { - if ( bright > 0x11 ) bright = 0x11; + int value = ( bright == 1 ) ? 1 : bright * ( 17.0 / 255.0 ); char writeCommand[100]; - const int count = sprintf( writeCommand, "0x%x\n", bright ); + const int count = sprintf( writeCommand, "0x%x\n", value ); res = ( ::write ( fd, writeCommand, count ) != -1 ); ::close ( fd ); } return res; } else |