summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--libopie/odevice.cpp77
1 files changed, 26 insertions, 51 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,13 +1971,14 @@ 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_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";
@@ -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
-
- if (sources >= 0) {
- if (soft)
- sources &= ~APM_EVT_POWER_BUTTON;
- else
- sources |= APM_EVT_POWER_BUTTON;
-
- if (::ioctl(fd, APM_IOCSEVTSRC, sources) >= 0) // set new event sources
- res = true;
- else
- perror("APM_IOCGEVTSRC");
- }
- else
- perror("APM_IOCGEVTSRC");
-
- ::close(fd);
- }
- else
- perror("/dev/apm_bios or /dev/misc/apm_bios");
-
- return res;
-#else
+ Q_UNUSED(soft);
return true;
-#endif
}
bool Ramses::suspend ( )
{
- qDebug("Ramses::suspend");
+ //qDebug("Ramses::suspend()");
+ if ( !isQWS() ) // only qwsserver is allowed to suspend
return false;
+
+ bool res = false;
+ int fd;
+
+ if ((fd = ::open("/proc/sys/pm/suspend", O_WRONLY)) >= 0) {
+ res = ( ::write ( fd, "1", 1 ) != -1 );
+ ::close(fd);
+ }
+ 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;
}