-rw-r--r-- | libopie/odevice.cpp | 81 |
1 files changed, 28 insertions, 53 deletions
diff --git a/libopie/odevice.cpp b/libopie/odevice.cpp index 993aedf..62dc9d4 100644 --- a/libopie/odevice.cpp +++ b/libopie/odevice.cpp @@ -918,13 +918,14 @@ void ODevice::remapHeldAction ( int button, const OQCopMessage &action ) // buttonFile. writeEntry ( "HeldActionArgs", decodeBase64 ( b. heldAction ( ). data ( ))); QCopEnvelope ( "QPE/System", "deviceButtonMappingChanged()" ); } void ODevice::virtual_hook( int id, void* data ) { - + Q_UNUSED(id); + Q_UNUSED(data); } /************************************************** * @@ -1970,14 +1971,15 @@ void Ramses::init() QFile f("/proc/sys/board/ramses"); d->m_modelstr = "Ramses"; d->m_model = Model_Ramses_MNCI; - d->m_rotation = Rot0; - d->m_holdtime = 1000; + d->m_rotation = Rot180; + d->m_direction = CW; + d->m_holdtime = 1000; f.setName("/etc/oz_version"); if (f.open(IO_ReadOnly)) { d->m_systemstr = "OpenEmbedded/Ramses"; d->m_system = System_OpenZaurus; @@ -2029,80 +2031,55 @@ void Ramses::timerEvent(QTimerEvent *) QWSServer::sendKeyEvent(-1, HardKey_Backlight, 0, false, false); } bool Ramses::setSoftSuspend(bool soft) { - qDebug("Ramses::setSoftSuspend(%d)", soft); -#if 0 - bool res = false; - int fd; - - if (((fd = ::open("/dev/apm_bios", O_RDWR)) >= 0) || - ((fd = ::open("/dev/misc/apm_bios",O_RDWR)) >= 0)) { - - int sources = ::ioctl(fd, APM_IOCGEVTSRC, 0); // get current event sources + Q_UNUSED(soft); + return true; +} - if (sources >= 0) { - if (soft) - sources &= ~APM_EVT_POWER_BUTTON; - else - sources |= APM_EVT_POWER_BUTTON; +bool Ramses::suspend() +{ + //qDebug("Ramses::suspend()"); + if ( !isQWS() ) // only qwsserver is allowed to suspend + return false; - if (::ioctl(fd, APM_IOCSEVTSRC, sources) >= 0) // set new event sources - res = true; - else - perror("APM_IOCGEVTSRC"); - } - else - perror("APM_IOCGEVTSRC"); + bool res = false; + int fd; + if ((fd = ::open("/proc/sys/pm/suspend", O_WRONLY)) >= 0) { + res = ( ::write ( fd, "1", 1 ) != -1 ); ::close(fd); } - else - perror("/dev/apm_bios or /dev/misc/apm_bios"); - - return res; -#else - return true; -#endif -} - -bool Ramses::suspend ( ) -{ - qDebug("Ramses::suspend"); - return false; + return res; } /** * This sets the display on or off */ bool Ramses::setDisplayStatus(bool on) { - qDebug("Ramses::setDisplayStatus(%d)", on); -#if 0 + //qDebug("Ramses::setDisplayStatus(%d)", on); bool res = false; int fd; - if ((fd = ::open ("/dev/fb/0", O_RDWR)) >= 0) { + if ((fd = ::open ("/dev/fb/1", O_RDWR)) >= 0) { res = (::ioctl(fd, FBIOBLANK, on ? VESA_NO_BLANKING : VESA_POWERDOWN) == 0); ::close(fd); } return res; -#else - return true; -#endif } /* * We get something between 0..255 into us */ bool Ramses::setDisplayBrightness(int bright) { - qDebug("Ramses::setDisplayBrightness(%d)", bright); + //qDebug("Ramses::setDisplayBrightness(%d)", bright); bool res = false; int fd; // pwm1 brighness: 20 steps 500..0 (dunkel->hell) if (bright > 255 ) @@ -2116,53 +2093,51 @@ bool Ramses::setDisplayBrightness(int bright) const int count = sprintf(writeCommand, "%d\n", bright ? 1 : 0); res = (::write(fd, writeCommand, count) != -1); ::close(fd); } // scale backlight brightness to hardware - bright = 500-(bright * 500 / 255); - if ((fd = ::open("/proc/sys/board/pwm1", O_WRONLY)) >= 0) { - qDebug(" %d -> pwm1", bright); + if ((fd = ::open("/proc/sys/board/lcd_brightness", O_WRONLY)) >= 0) { + //qDebug(" %d -> pwm1", bright); char writeCommand[100]; const int count = sprintf(writeCommand, "%d\n", bright); res = (::write(fd, writeCommand, count) != -1); ::close(fd); } return res; } int Ramses::displayBrightnessResolution() const { - return 32; + return 256; } bool Ramses::setDisplayContrast(int contr) { - qDebug("Ramses::setDisplayContrast(%d)", contr); + //qDebug("Ramses::setDisplayContrast(%d)", contr); bool res = false; int fd; // pwm0 contrast: 20 steps 79..90 (dunkel->hell) if (contr > 255 ) contr = 255; if (contr < 0) contr = 0; - contr = 90 - (contr * 20 / 255); - if ((fd = ::open("/proc/sys/board/pwm0", O_WRONLY)) >= 0) { - qDebug(" %d -> pwm0", contr); + if ((fd = ::open("/proc/sys/board/lcd_contrast", O_WRONLY)) >= 0) { + //qDebug(" %d -> pwm0", contr); char writeCommand[100]; const int count = sprintf(writeCommand, "%d\n", contr); res = (::write(fd, writeCommand, count) != -1); res = true; ::close(fd); } return res; } int Ramses::displayContrastResolution() const { - return 20; + return 256; } |