summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--libopie/odevice.cpp9
1 files changed, 4 insertions, 5 deletions
diff --git a/libopie/odevice.cpp b/libopie/odevice.cpp
index 013f804..21070bf 100644
--- a/libopie/odevice.cpp
+++ b/libopie/odevice.cpp
@@ -1081,49 +1081,49 @@ void Yopy::initButtons ( )
1081 b. setUserText ( QObject::tr ( "Button", ib-> utext )); 1081 b. setUserText ( QObject::tr ( "Button", ib-> utext ));
1082 b. setPixmap ( Resource::loadPixmap ( ib-> pix )); 1082 b. setPixmap ( Resource::loadPixmap ( ib-> pix ));
1083 b. setFactoryPresetPressedAction 1083 b. setFactoryPresetPressedAction
1084 (OQCopMessage(makeChannel(ib->fpressedservice), ib->fpressedaction)); 1084 (OQCopMessage(makeChannel(ib->fpressedservice), ib->fpressedaction));
1085 b. setFactoryPresetHeldAction 1085 b. setFactoryPresetHeldAction
1086 (OQCopMessage(makeChannel(ib->fheldservice), ib->fheldaction)); 1086 (OQCopMessage(makeChannel(ib->fheldservice), ib->fheldaction));
1087 1087
1088 d-> m_buttons-> append ( b ); 1088 d-> m_buttons-> append ( b );
1089 } 1089 }
1090 reloadButtonMapping ( ); 1090 reloadButtonMapping ( );
1091 1091
1092 QCopChannel *sysch = new QCopChannel("QPE/System", this); 1092 QCopChannel *sysch = new QCopChannel("QPE/System", this);
1093 connect(sysch, SIGNAL(received(const QCString&,const QByteArray&)), 1093 connect(sysch, SIGNAL(received(const QCString&,const QByteArray&)),
1094 this, SLOT(systemMessage(const QCString&,const QByteArray&))); 1094 this, SLOT(systemMessage(const QCString&,const QByteArray&)));
1095} 1095}
1096 1096
1097bool Yopy::suspend() 1097bool Yopy::suspend()
1098{ 1098{
1099 /* Opie for Yopy does not implement its own power management at the 1099 /* Opie for Yopy does not implement its own power management at the
1100 moment. The public version runs parallel to X, and relies on the 1100 moment. The public version runs parallel to X, and relies on the
1101 existing power management features. */ 1101 existing power management features. */
1102 return false; 1102 return false;
1103} 1103}
1104 1104
1105bool Yopy::setDisplayBrightness(int bright) 1105bool Yopy::setDisplayBrightness(int /*bright*/)
1106{ 1106{
1107 /* The code here works, but is disabled as the current version runs 1107 /* The code here works, but is disabled as the current version runs
1108 parallel to X, and relies on the existing backlight demon. */ 1108 parallel to X, and relies on the existing backlight demon. */
1109#if 0 1109#if 0
1110 if ( QFile::exists("/proc/sys/pm/light") ) { 1110 if ( QFile::exists("/proc/sys/pm/light") ) {
1111 int fd = ::open("/proc/sys/pm/light", O_WRONLY); 1111 int fd = ::open("/proc/sys/pm/light", O_WRONLY);
1112 if (fd >= 0 ) { 1112 if (fd >= 0 ) {
1113 if (bright) 1113 if (bright)
1114 ::write(fd, "1\n", 2); 1114 ::write(fd, "1\n", 2);
1115 else 1115 else
1116 ::write(fd, "0\n", 2); 1116 ::write(fd, "0\n", 2);
1117 ::close(fd); 1117 ::close(fd);
1118 return true; 1118 return true;
1119 } 1119 }
1120 } 1120 }
1121#endif 1121#endif
1122 return false; 1122 return false;
1123} 1123}
1124 1124
1125int Yopy::displayBrightnessResolution() const 1125int Yopy::displayBrightnessResolution() const
1126{ 1126{
1127 return 2; 1127 return 2;
1128} 1128}
1129 1129
@@ -1647,49 +1647,48 @@ void Zaurus::init ( )
1647 if ( loc != -1 ) 1647 if ( loc != -1 )
1648 model = line. mid ( loc + 2 ). simplifyWhiteSpace( ); 1648 model = line. mid ( loc + 2 ). simplifyWhiteSpace( );
1649 } 1649 }
1650 1650
1651 if ( model == "SHARP Corgi" ) { 1651 if ( model == "SHARP Corgi" ) {
1652 d-> m_model = Model_Zaurus_SLC7x0; 1652 d-> m_model = Model_Zaurus_SLC7x0;
1653 d-> m_modelstr = "Zaurus SL-C700"; 1653 d-> m_modelstr = "Zaurus SL-C700";
1654 } else if ( model == "SHARP Shepherd" ) { 1654 } else if ( model == "SHARP Shepherd" ) {
1655 d-> m_model = Model_Zaurus_SLC7x0; 1655 d-> m_model = Model_Zaurus_SLC7x0;
1656 d-> m_modelstr = "Zaurus SL-C750"; 1656 d-> m_modelstr = "Zaurus SL-C750";
1657 } else if ( model == "SHARP Husky" ) { 1657 } else if ( model == "SHARP Husky" ) {
1658 d-> m_model = Model_Zaurus_SLC7x0; 1658 d-> m_model = Model_Zaurus_SLC7x0;
1659 d-> m_modelstr = "Zaurus SL-C760"; 1659 d-> m_modelstr = "Zaurus SL-C760";
1660 } else if ( model == "SHARP Poodle" ) { 1660 } else if ( model == "SHARP Poodle" ) {
1661 d-> m_model = Model_Zaurus_SLB600; 1661 d-> m_model = Model_Zaurus_SLB600;
1662 d-> m_modelstr = "Zaurus SL-B500 or SL-5600"; 1662 d-> m_modelstr = "Zaurus SL-B500 or SL-5600";
1663 } else if ( model == "Sharp-Collie" || model == "Collie" ) { 1663 } else if ( model == "Sharp-Collie" || model == "Collie" ) {
1664 d-> m_model = Model_Zaurus_SL5500; 1664 d-> m_model = Model_Zaurus_SL5500;
1665 d-> m_modelstr = "Zaurus SL-5500 or SL-5000d"; 1665 d-> m_modelstr = "Zaurus SL-5500 or SL-5000d";
1666 } else { 1666 } else {
1667 d-> m_model = Model_Zaurus_SL5500; 1667 d-> m_model = Model_Zaurus_SL5500;
1668 d-> m_modelstr = "Zaurus (Model unknown)"; 1668 d-> m_modelstr = "Zaurus (Model unknown)";
1669 } 1669 }
1670 1670
1671 bool flipstate = false;
1672 switch ( d-> m_model ) { 1671 switch ( d-> m_model ) {
1673 case Model_Zaurus_SLA300: 1672 case Model_Zaurus_SLA300:
1674 d-> m_rotation = Rot0; 1673 d-> m_rotation = Rot0;
1675 break; 1674 break;
1676 case Model_Zaurus_SLC7x0: 1675 case Model_Zaurus_SLC7x0:
1677 d-> m_rotation = rotation(); 1676 d-> m_rotation = rotation();
1678 d-> m_direction = direction(); 1677 d-> m_direction = direction();
1679 break; 1678 break;
1680 case Model_Zaurus_SLB600: 1679 case Model_Zaurus_SLB600:
1681 case Model_Zaurus_SL5500: 1680 case Model_Zaurus_SL5500:
1682 case Model_Zaurus_SL5000: 1681 case Model_Zaurus_SL5000:
1683 default: 1682 default:
1684 d-> m_rotation = Rot270; 1683 d-> m_rotation = Rot270;
1685 break; 1684 break;
1686 } 1685 }
1687 m_leds [0] = Led_Off; 1686 m_leds [0] = Led_Off;
1688} 1687}
1689 1688
1690void Zaurus::initButtons ( ) 1689void Zaurus::initButtons ( )
1691{ 1690{
1692 if ( d-> m_buttons ) 1691 if ( d-> m_buttons )
1693 return; 1692 return;
1694 1693
1695 d-> m_buttons = new QValueList <ODeviceButton>; 1694 d-> m_buttons = new QValueList <ODeviceButton>;
@@ -2346,49 +2345,49 @@ bool SIMpad::setLedState ( OLed l, OLedState st )
2346 leds. OffTime = 1; 2345 leds. OffTime = 1;
2347 leds. OffOnBlink = 2; 2346 leds. OffOnBlink = 2;
2348 2347
2349 switch ( st ) { 2348 switch ( st ) {
2350 case Led_Off : leds. OffOnBlink = 0; break; 2349 case Led_Off : leds. OffOnBlink = 0; break;
2351 case Led_On : leds. OffOnBlink = 1; break; 2350 case Led_On : leds. OffOnBlink = 1; break;
2352 case Led_BlinkSlow: leds. OnTime = 10; leds. OffTime = 10; break; 2351 case Led_BlinkSlow: leds. OnTime = 10; leds. OffTime = 10; break;
2353 case Led_BlinkFast: leds. OnTime = 5; leds. OffTime = 5; break; 2352 case Led_BlinkFast: leds. OnTime = 5; leds. OffTime = 5; break;
2354 } 2353 }
2355 2354
2356 { 2355 {
2357 /*TODO Implement this like that: 2356 /*TODO Implement this like that:
2358 read from cs3 2357 read from cs3
2359 && with SIMPAD_LED2_ON 2358 && with SIMPAD_LED2_ON
2360 write to cs3 */ 2359 write to cs3 */
2361 m_leds [0] = st; 2360 m_leds [0] = st;
2362 return true; 2361 return true;
2363 } 2362 }
2364 } 2363 }
2365 } 2364 }
2366 return false; 2365 return false;
2367} 2366}
2368 2367
2369 2368
2370bool SIMpad::filter ( int /*unicode*/, int keycode, int modifiers, bool isPress, bool autoRepeat ) 2369bool SIMpad::filter ( int /*unicode*/, int /*keycode*/, int /*modifiers*/, bool /*isPress*/, bool /*autoRepeat*/ )
2371{ 2370{
2372 //TODO 2371 //TODO
2373 return false; 2372 return false;
2374} 2373}
2375 2374
2376void SIMpad::timerEvent ( QTimerEvent * ) 2375void SIMpad::timerEvent ( QTimerEvent * )
2377{ 2376{
2378 killTimer ( m_power_timer ); 2377 killTimer ( m_power_timer );
2379 m_power_timer = 0; 2378 m_power_timer = 0;
2380 QWSServer::sendKeyEvent ( -1, HardKey_Backlight, 0, true, false ); 2379 QWSServer::sendKeyEvent ( -1, HardKey_Backlight, 0, true, false );
2381 QWSServer::sendKeyEvent ( -1, HardKey_Backlight, 0, false, false ); 2380 QWSServer::sendKeyEvent ( -1, HardKey_Backlight, 0, false, false );
2382} 2381}
2383 2382
2384 2383
2385void SIMpad::alarmSound ( ) 2384void SIMpad::alarmSound ( )
2386{ 2385{
2387#ifndef QT_NO_SOUND 2386#ifndef QT_NO_SOUND
2388 static Sound snd ( "alarm" ); 2387 static Sound snd ( "alarm" );
2389 int fd; 2388 int fd;
2390 int vol; 2389 int vol;
2391 bool vol_reset = false; 2390 bool vol_reset = false;
2392 2391
2393 if (( fd = ::open ( "/dev/sound/mixer", O_RDWR )) >= 0 ) { 2392 if (( fd = ::open ( "/dev/sound/mixer", O_RDWR )) >= 0 ) {
2394 if ( ::ioctl ( fd, MIXER_READ( 0 ), &vol ) >= 0 ) { 2393 if ( ::ioctl ( fd, MIXER_READ( 0 ), &vol ) >= 0 ) {
@@ -2407,71 +2406,70 @@ void SIMpad::alarmSound ( )
2407 } 2406 }
2408 } 2407 }
2409 2408
2410 snd. play ( ); 2409 snd. play ( );
2411 while ( !snd. isFinished ( )) 2410 while ( !snd. isFinished ( ))
2412 qApp-> processEvents ( ); 2411 qApp-> processEvents ( );
2413 2412
2414 if ( fd >= 0 ) { 2413 if ( fd >= 0 ) {
2415 if ( vol_reset ) 2414 if ( vol_reset )
2416 ::ioctl ( fd, MIXER_WRITE( 0 ), &vol ); 2415 ::ioctl ( fd, MIXER_WRITE( 0 ), &vol );
2417 ::close ( fd ); 2416 ::close ( fd );
2418 } 2417 }
2419#endif 2418#endif
2420} 2419}
2421 2420
2422 2421
2423bool SIMpad::suspend ( ) // Must override because SIMpad does NOT have apm 2422bool SIMpad::suspend ( ) // Must override because SIMpad does NOT have apm
2424{ 2423{
2425 qDebug( "ODevice for SIMpad: suspend()" ); 2424 qDebug( "ODevice for SIMpad: suspend()" );
2426 if ( !isQWS( ) ) // only qwsserver is allowed to suspend 2425 if ( !isQWS( ) ) // only qwsserver is allowed to suspend
2427 return false; 2426 return false;
2428 2427
2429 bool res = false; 2428 bool res = false;
2430 2429
2431 struct timeval tvs, tvn; 2430 struct timeval tvs;
2432 ::gettimeofday ( &tvs, 0 ); 2431 ::gettimeofday ( &tvs, 0 );
2433 2432
2434 ::sync ( ); // flush fs caches 2433 ::sync ( ); // flush fs caches
2435 res = ( ::system ( "cat /dev/fb/0 >/tmp/.buffer; echo > /proc/sys/pm/suspend; cat /tmp/.buffer >/dev/fb/0" ) == 0 ); //TODO make better :) 2434 res = ( ::system ( "cat /dev/fb/0 >/tmp/.buffer; echo > /proc/sys/pm/suspend; cat /tmp/.buffer >/dev/fb/0" ) == 0 ); //TODO make better :)
2436 2435
2437 return res; 2436 return res;
2438} 2437}
2439 2438
2440 2439
2441bool SIMpad::setSoftSuspend ( bool soft ) 2440bool SIMpad::setSoftSuspend ( bool soft )
2442{ 2441{
2443 qDebug( "ODevice for SIMpad: UNHANDLED setSoftSuspend(%s)", soft? "on" : "off" ); 2442 qDebug( "ODevice for SIMpad: UNHANDLED setSoftSuspend(%s)", soft? "on" : "off" );
2444 return false; 2443 return false;
2445} 2444}
2446 2445
2447 2446
2448bool SIMpad::setDisplayStatus ( bool on ) 2447bool SIMpad::setDisplayStatus ( bool on )
2449{ 2448{
2450 qDebug( "ODevice for SIMpad: setDisplayStatus(%s)", on? "on" : "off" ); 2449 qDebug( "ODevice for SIMpad: setDisplayStatus(%s)", on? "on" : "off" );
2451 2450
2452 bool res = false; 2451 bool res = false;
2453 int fd;
2454 2452
2455 QString cmdline = QString().sprintf( "echo %s > /proc/cs3", on ? "0xd41a" : "0xd40a" ); //TODO make better :) 2453 QString cmdline = QString().sprintf( "echo %s > /proc/cs3", on ? "0xd41a" : "0xd40a" ); //TODO make better :)
2456 2454
2457 res = ( ::system( (const char*) cmdline ) == 0 ); 2455 res = ( ::system( (const char*) cmdline ) == 0 );
2458 2456
2459 return res; 2457 return res;
2460} 2458}
2461 2459
2462 2460
2463bool SIMpad::setDisplayBrightness ( int bright ) 2461bool SIMpad::setDisplayBrightness ( int bright )
2464{ 2462{
2465 qDebug( "ODevice for SIMpad: setDisplayBrightness( %d )", bright ); 2463 qDebug( "ODevice for SIMpad: setDisplayBrightness( %d )", bright );
2466 bool res = false; 2464 bool res = false;
2467 int fd; 2465 int fd;
2468 2466
2469 if ( bright > 255 ) 2467 if ( bright > 255 )
2470 bright = 255; 2468 bright = 255;
2471 if ( bright < 1 ) 2469 if ( bright < 1 )
2472 bright = 0; 2470 bright = 0;
2473 2471
2474 if (( fd = ::open ( SIMPAD_BACKLIGHT_CONTROL, O_WRONLY )) >= 0 ) { 2472 if (( fd = ::open ( SIMPAD_BACKLIGHT_CONTROL, O_WRONLY )) >= 0 ) {
2475 int value = 255 - bright; 2473 int value = 255 - bright;
2476 const int mask = SIMPAD_BACKLIGHT_MASK; 2474 const int mask = SIMPAD_BACKLIGHT_MASK;
2477 value = value << 8; 2475 value = value << 8;
@@ -2760,48 +2758,49 @@ void Jornada::initButtons ( )
2760 qDebug ( "init Buttons" ); 2758 qDebug ( "init Buttons" );
2761 d-> m_buttons = new QValueList <ODeviceButton>; 2759 d-> m_buttons = new QValueList <ODeviceButton>;
2762 2760
2763 for ( uint i = 0; i < ( sizeof( ipaq_buttons ) / sizeof( i_button )); i++ ) { 2761 for ( uint i = 0; i < ( sizeof( ipaq_buttons ) / sizeof( i_button )); i++ ) {
2764 i_button *ib = ipaq_buttons + i; 2762 i_button *ib = ipaq_buttons + i;
2765 ODeviceButton b; 2763 ODeviceButton b;
2766 2764
2767 if (( ib-> model & Model_iPAQ_H36xx ) == Model_iPAQ_H36xx ) { 2765 if (( ib-> model & Model_iPAQ_H36xx ) == Model_iPAQ_H36xx ) {
2768 b. setKeycode ( ib-> code ); 2766 b. setKeycode ( ib-> code );
2769 b. setUserText ( QObject::tr ( "Button", ib-> utext )); 2767 b. setUserText ( QObject::tr ( "Button", ib-> utext ));
2770 b. setPixmap ( Resource::loadPixmap ( ib-> pix )); 2768 b. setPixmap ( Resource::loadPixmap ( ib-> pix ));
2771 b. setFactoryPresetPressedAction ( OQCopMessage ( makeChannel ( ib-> fpressedservice ), ib-> fpressedaction )); 2769 b. setFactoryPresetPressedAction ( OQCopMessage ( makeChannel ( ib-> fpressedservice ), ib-> fpressedaction ));
2772 b. setFactoryPresetHeldAction ( OQCopMessage ( makeChannel ( ib-> fheldservice ), ib-> fheldaction )); 2770 b. setFactoryPresetHeldAction ( OQCopMessage ( makeChannel ( ib-> fheldservice ), ib-> fheldaction ));
2773 d-> m_buttons-> append ( b ); 2771 d-> m_buttons-> append ( b );
2774 } 2772 }
2775 } 2773 }
2776 reloadButtonMapping ( ); 2774 reloadButtonMapping ( );
2777 2775
2778 QCopChannel *sysch = new QCopChannel ( "QPE/System", this ); 2776 QCopChannel *sysch = new QCopChannel ( "QPE/System", this );
2779 connect ( sysch, SIGNAL( received(const QCString&,const QByteArray&)), this, SLOT( systemMessage(const QCString&,const QByteArray&))); 2777 connect ( sysch, SIGNAL( received(const QCString&,const QByteArray&)), this, SLOT( systemMessage(const QCString&,const QByteArray&)));
2780} 2778}
2781#endif 2779#endif
2782int Jornada::displayBrightnessResolution ( ) const 2780int Jornada::displayBrightnessResolution ( ) const
2783{ 2781{
2782 return 255;
2784} 2783}
2785 2784
2786bool Jornada::setDisplayBrightness ( int bright ) 2785bool Jornada::setDisplayBrightness ( int bright )
2787{ 2786{
2788 bool res = false; 2787 bool res = false;
2789 int fd; 2788 int fd;
2790 2789
2791 if ( bright > 255 ) 2790 if ( bright > 255 )
2792 bright = 255; 2791 bright = 255;
2793 if ( bright < 0 ) 2792 if ( bright < 0 )
2794 bright = 0; 2793 bright = 0;
2795 2794
2796 if (( fd = ::open ( "/dev/touchscreen/0", O_WRONLY )) >= 0 ) { 2795 if (( fd = ::open ( "/dev/touchscreen/0", O_WRONLY )) >= 0 ) {
2797 FLITE_IN bl; 2796 FLITE_IN bl;
2798 bl. mode = 1; 2797 bl. mode = 1;
2799 bl. pwr = bright ? 1 : 0; 2798 bl. pwr = bright ? 1 : 0;
2800 bl. brightness = ( bright * ( displayBrightnessResolution ( ) - 1 ) + 127 ) / 255; 2799 bl. brightness = ( bright * ( displayBrightnessResolution ( ) - 1 ) + 127 ) / 255;
2801 res = ( ::ioctl ( fd, FLITE_ON, &bl ) == 0 ); 2800 res = ( ::ioctl ( fd, FLITE_ON, &bl ) == 0 );
2802 ::close ( fd ); 2801 ::close ( fd );
2803 } 2802 }
2804 return res; 2803 return res;
2805} 2804}
2806 2805
2807bool Jornada::setSoftSuspend ( bool soft ) 2806bool Jornada::setSoftSuspend ( bool soft )