summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--libopie/odevice.cpp225
-rw-r--r--libopie/odevice.h2
2 files changed, 142 insertions, 85 deletions
diff --git a/libopie/odevice.cpp b/libopie/odevice.cpp
index d86654e..160568b 100644
--- a/libopie/odevice.cpp
+++ b/libopie/odevice.cpp
@@ -90,3 +90,3 @@ public:
- virtual QValueList <OLed> ledList ( ) const;
+ virtual QValueList <OLed> ledList ( ) const;
virtual QValueList <OLedState> ledStateList ( OLed led ) const;
@@ -123,3 +123,3 @@ public:
- virtual QValueList <OLed> ledList ( ) const;
+ virtual QValueList <OLed> ledList ( ) const;
virtual QValueList <OLedState> ledStateList ( OLed led ) const;
@@ -149,3 +149,3 @@ public:
- virtual QValueList <OLed> ledList ( ) const;
+ virtual QValueList <OLed> ledList ( ) const;
virtual QValueList <OLedState> ledStateList ( OLed led ) const;
@@ -166,3 +166,2 @@ protected:
virtual void init ( );
- virtual void initButtons ( );
@@ -170,2 +169,3 @@ public:
virtual bool setSoftSuspend ( bool soft );
+ virtual bool suspend ( );
@@ -174,2 +174,4 @@ public:
virtual int displayBrightnessResolution ( ) const;
+ virtual bool setDisplayContrast ( int b );
+ virtual int displayContrastResolution ( ) const;
@@ -184,9 +186,9 @@ struct i_button {
uint model;
- Qt::Key code;
- char *utext;
- char *pix;
- char *fpressedservice;
- char *fpressedaction;
- char *fheldservice;
- char *fheldaction;
+ Qt::Key code;
+ char *utext;
+ char *pix;
+ char *fpressedservice;
+ char *fpressedaction;
+ char *fheldservice;
+ char *fheldaction;
} ipaq_buttons [] = {
@@ -355,3 +357,3 @@ struct r_button {
Qt::Key_F11, QT_TRANSLATE_NOOP("Button", "Menu Button"),
- "devicebuttons/simpad_menu",
+ "devicebuttons/z_menu",
"QPE/TaskBar", "toggleMenu()",
@@ -495,2 +497,3 @@ bool ODevice::suspend ( )
{
+ qDebug("ODevice::suspend");
if ( !isQWS( ) ) // only qwsserver is allowed to suspend
@@ -538,2 +541,4 @@ bool ODevice::setDisplayStatus ( bool on )
{
+ qDebug("ODevice::setDisplayStatus(%d)", on);
+
if ( d-> m_model == Model_Unknown )
@@ -561,2 +566,5 @@ bool ODevice::setDisplayBrightness ( int p)
+/**
+ * @return return the max value for the brightness settings slider
+ */
int ODevice::displayBrightnessResolution ( ) const
@@ -567,2 +575,21 @@ int ODevice::displayBrightnessResolution ( ) const
/**
+ * This sets the display contrast
+ * @return success or failure
+ */
+bool ODevice::setDisplayContrast ( int p)
+{
+ Q_UNUSED( p )
+ return false;
+}
+
+/**
+ * @return return the max value for the brightness settings slider
+ * or 0 if the device doesn't support setting of a contrast
+ */
+int ODevice::displayContrastResolution ( ) const
+{
+ return 0;
+}
+
+/**
* This returns the vendor as string
@@ -672,3 +699,2 @@ void ODevice::touchSound ( )
{
-
#ifndef QT_NO_SOUND
@@ -1895,3 +1921,3 @@ int SIMpad::displayBrightnessResolution ( ) const
-void Ramses::init ( )
+void Ramses::init()
{
@@ -1900,3 +1926,3 @@ void Ramses::init ( )
- QFile f( "/proc/sys/board/ramses" );
+ QFile f("/proc/sys/board/ramses");
@@ -1905,9 +1931,8 @@ void Ramses::init ( )
- d->m_rotation = Rot180;
- d->m_direction = CCW;
+ d->m_rotation = Rot0;
d->m_holdtime = 1000;
- f.setName( "/etc/oz_version" );
+ f.setName("/etc/oz_version");
- if ( f.open( IO_ReadOnly )) {
+ if (f.open(IO_ReadOnly)) {
d->m_systemstr = "OpenEmbedded/Ramses";
@@ -1915,6 +1940,6 @@ void Ramses::init ( )
- QTextStream ts ( &f );
- ts.setDevice ( &f );
- d->m_sysverstr = ts.readLine ( );
- f.close ( );
+ QTextStream ts(&f);
+ ts.setDevice(&f);
+ d->m_sysverstr = ts.readLine();
+ f.close();
}
@@ -1925,35 +1950,8 @@ void Ramses::init ( )
-void Ramses::initButtons ( )
+bool Ramses::filter(int /*unicode*/, int keycode, int modifiers, bool isPress, bool autoRepeat)
{
- if ( d->m_buttons )
- return;
-
- if ( isQWS( ) )
- QWSServer::setKeyboardFilter ( this );
-
- d->m_buttons = new QValueList <ODeviceButton>;
-
- for ( uint i = 0; i < ( sizeof( ramses_buttons ) / sizeof( s_button )); i++ ) {
- r_button *rb = ramses_buttons + i;
- ODeviceButton b;
-
- if (( rb->model & d->m_model ) == d->m_model ) {
- b.setKeycode( rb->code );
- b.setUserText( QObject::tr ( "Button", rb->utext ));
- b.setPixmap( Resource::loadPixmap ( rb->pix ));
- b.setFactoryPresetPressedAction( OQCopMessage ( makeChannel ( rb->fpressedservice ), rb->fpressedaction ));
- b.setFactoryPresetHeldAction( OQCopMessage ( makeChannel ( rb->fheldservice ), rb->fheldaction ));
-
- d->m_buttons->append( b );
- }
- }
- reloadButtonMapping();
-
- QCopChannel *sysch = new QCopChannel ( "QPE/System", this );
- connect ( sysch, SIGNAL( received( const QCString &, const QByteArray & )), this, SLOT( systemMessage ( const QCString &, const QByteArray & )));
-}
-
-bool Ramses::filter ( int /*unicode*/, int keycode, int modifiers, bool isPress, bool autoRepeat )
-{
- //TODO
+ Q_UNUSED( keycode );
+ Q_UNUSED( modifiers );
+ Q_UNUSED( isPress );
+ Q_UNUSED( autoRepeat );
return false;
@@ -1961,8 +1959,8 @@ bool Ramses::filter ( int /*unicode*/, int keycode, int modifiers, bool isPress,
-void Ramses::timerEvent ( QTimerEvent * )
+void Ramses::timerEvent(QTimerEvent *)
{
- killTimer ( m_power_timer );
+ killTimer(m_power_timer);
m_power_timer = 0;
- QWSServer::sendKeyEvent ( -1, HardKey_Backlight, 0, true, false );
- QWSServer::sendKeyEvent ( -1, HardKey_Backlight, 0, false, false );
+ QWSServer::sendKeyEvent(-1, HardKey_Backlight, 0, true, false);
+ QWSServer::sendKeyEvent(-1, HardKey_Backlight, 0, false, false);
}
@@ -1970,4 +1968,6 @@ void Ramses::timerEvent ( QTimerEvent * )
-bool Ramses::setSoftSuspend ( bool soft )
+bool Ramses::setSoftSuspend(bool soft)
{
+ qDebug("Ramses::setSoftSuspend(%d)", soft);
+#if 0
bool res = false;
@@ -1975,9 +1975,9 @@ bool Ramses::setSoftSuspend ( bool soft )
- if ((( fd = ::open ( "/dev/apm_bios", O_RDWR )) >= 0 ) ||
- (( fd = ::open ( "/dev/misc/apm_bios",O_RDWR )) >= 0 )) {
+ 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
+ int sources = ::ioctl(fd, APM_IOCGEVTSRC, 0); // get current event sources
- if ( sources >= 0 ) {
- if ( soft )
+ if (sources >= 0) {
+ if (soft)
sources &= ~APM_EVT_POWER_BUTTON;
@@ -1986,16 +1986,24 @@ bool Ramses::setSoftSuspend ( bool soft )
- if ( ::ioctl ( fd, APM_IOCSEVTSRC, sources ) >= 0 ) // set new event sources
+ if (::ioctl(fd, APM_IOCSEVTSRC, sources) >= 0) // set new event sources
res = true;
else
- perror ( "APM_IOCGEVTSRC" );
+ perror("APM_IOCGEVTSRC");
}
else
- perror ( "APM_IOCGEVTSRC" );
+ perror("APM_IOCGEVTSRC");
- ::close ( fd );
+ ::close(fd);
}
else
- perror ( "/dev/apm_bios or /dev/misc/apm_bios" );
+ perror("/dev/apm_bios or /dev/misc/apm_bios");
return res;
+#else
+ return true;
+#endif
+}
+
+bool Ramses::suspend ( )
+{
+ qDebug("Ramses::suspend");
}
@@ -2005,4 +2013,6 @@ bool Ramses::setSoftSuspend ( bool soft )
*/
-bool Ramses::setDisplayStatus ( bool on )
+bool Ramses::setDisplayStatus(bool on)
{
+ qDebug("Ramses::setDisplayStatus(%d)", on);
+#if 0
bool res = false;
@@ -2010,7 +2020,10 @@ bool Ramses::setDisplayStatus ( bool on )
- if (( fd = ::open ( "/dev/fb/0", O_RDWR )) >= 0 ) {
- res = ( ::ioctl ( fd, FBIOBLANK, on ? VESA_NO_BLANKING : VESA_POWERDOWN ) == 0 );
- ::close ( fd );
+ if ((fd = ::open ("/dev/fb/0", O_RDWR)) >= 0) {
+ res = (::ioctl(fd, FBIOBLANK, on ? VESA_NO_BLANKING : VESA_POWERDOWN) == 0);
+ ::close(fd);
}
return res;
+#else
+ return true;
+#endif
}
@@ -2018,5 +2031,8 @@ bool Ramses::setDisplayStatus ( bool on )
-bool Ramses::setDisplayBrightness ( int bright )
+/*
+ * We get something between 0..255 into us
+*/
+bool Ramses::setDisplayBrightness(int bright)
{
- qDebug( "ODevice for Ramses: setDisplayBrightness( %d )", bright );
+ qDebug("Ramses::setDisplayBrightness(%d)", bright);
bool res = false;
@@ -2024,12 +2040,51 @@ bool Ramses::setDisplayBrightness ( int bright )
- if ( bright > 255 )
- bright = 100;
- if ( bright < 0 )
+ // pwm1 brighness: 20 steps 500..0 (dunkel->hell)
+
+ if (bright > 255 )
+ bright = 255;
+ if (bright < 0)
bright = 0;
+ bright = 500-(bright * 500 / 255);
- if (( fd = ::open ( "/proc/sys/board/pwm0", O_WRONLY )) >= 0 ) {
+ if ((fd = ::open("/proc/sys/board/pwm1", 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 );
+ const int count = sprintf(writeCommand, "%d\n", bright);
+ res = (::write(fd, writeCommand, count) != -1);
+ ::close(fd);
+ } else {
+ qWarning("no write");
+ }
+ return res;
+}
+
+
+int Ramses::displayBrightnessResolution() const
+{
+ return 32;
+}
+
+bool Ramses::setDisplayContrast(int contr)
+{
+ qDebug("Ramses::setDisplayContrast(%d)", contr);
+ bool res = false;
+ int fd;
+
+ // pwm0 contrast: 35 steps 65..100 (dunkel->hell)
+
+ if (contr > 255 )
+ contr = 255;
+ if (contr < 0)
+ contr = 0;
+ contr = 65 + (contr * 350 / 255);
+
+ if ((fd = ::open("/proc/sys/board/pwm0", 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);
+ } else {
+ qWarning("no write");
}
@@ -2039,5 +2094,5 @@ bool Ramses::setDisplayBrightness ( int bright )
-int Ramses::displayBrightnessResolution ( ) const
+int Ramses::displayContrastResolution() const
{
- return 100;
+ return 32;
}
diff --git a/libopie/odevice.h b/libopie/odevice.h
index 5829440..6c4830e 100644
--- a/libopie/odevice.h
+++ b/libopie/odevice.h
@@ -183,2 +183,4 @@ public:
virtual int displayBrightnessResolution ( ) const;
+ virtual bool setDisplayContrast ( int contrast );
+ virtual int displayContrastResolution ( ) const;