summaryrefslogtreecommitdiff
path: root/libopie/odevice.cpp
Unidiff
Diffstat (limited to 'libopie/odevice.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie/odevice.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/libopie/odevice.cpp b/libopie/odevice.cpp
index 8624016..13b4330 100644
--- a/libopie/odevice.cpp
+++ b/libopie/odevice.cpp
@@ -2443,130 +2443,141 @@ bool Ramses::setDisplayContrast(int contr)
2443 int fd; 2443 int fd;
2444 2444
2445 // pwm0 contrast: 20 steps 79..90 (dunkel->hell) 2445 // pwm0 contrast: 20 steps 79..90 (dunkel->hell)
2446 2446
2447 if (contr > 255 ) 2447 if (contr > 255 )
2448 contr = 255; 2448 contr = 255;
2449 if (contr < 0) 2449 if (contr < 0)
2450 contr = 0; 2450 contr = 0;
2451 contr = 90 - (contr * 20 / 255); 2451 contr = 90 - (contr * 20 / 255);
2452 2452
2453 if ((fd = ::open("/proc/sys/board/pwm0", O_WRONLY)) >= 0) { 2453 if ((fd = ::open("/proc/sys/board/pwm0", O_WRONLY)) >= 0) {
2454 qDebug(" %d -> pwm0", contr); 2454 qDebug(" %d -> pwm0", contr);
2455 char writeCommand[100]; 2455 char writeCommand[100];
2456 const int count = sprintf(writeCommand, "%d\n", contr); 2456 const int count = sprintf(writeCommand, "%d\n", contr);
2457 res = (::write(fd, writeCommand, count) != -1); 2457 res = (::write(fd, writeCommand, count) != -1);
2458 res = true; 2458 res = true;
2459 ::close(fd); 2459 ::close(fd);
2460 } 2460 }
2461 return res; 2461 return res;
2462} 2462}
2463 2463
2464 2464
2465int Ramses::displayContrastResolution() const 2465int Ramses::displayContrastResolution() const
2466{ 2466{
2467 return 20; 2467 return 20;
2468} 2468}
2469 2469
2470 2470
2471/************************************************** 2471/**************************************************
2472 * * 2472 * *
2473 * Jornada * 2473 * Jornada *
2474 * * 2474 * *
2475 **************************************************/ 2475 **************************************************/
2476 2476
2477 2477
2478bool Jornada::isJornada ( ) 2478bool Jornada::isJornada ( )
2479{ 2479{
2480 QFile f( "/proc/cpuinfo" ); 2480 QFile f( "/proc/cpuinfo" );
2481 if ( f. open ( IO_ReadOnly ) ) { 2481 if ( f. open ( IO_ReadOnly ) ) {
2482 QTextStream ts ( &f ); 2482 QTextStream ts ( &f );
2483 QString line; 2483 QString line;
2484 while( line = ts. readLine ( ) ) { 2484 while( line = ts. readLine ( ) ) {
2485 if ( line. left ( 8 ) == "Hardware" ) { 2485 if ( line. left ( 8 ) == "Hardware" ) {
2486 int loc = line. find ( ":" ); 2486 int loc = line. find ( ":" );
2487 if ( loc != -1 ) { 2487 if ( loc != -1 ) {
2488 QString model = 2488 QString model =
2489 line. mid ( loc + 2 ). simplifyWhiteSpace( ); 2489 line. mid ( loc + 2 ). simplifyWhiteSpace( );
2490 return ( model == "HP Jornada 56x" ); 2490 return ( model == "HP Jornada 56x" );
2491 } 2491 }
2492 } 2492 }
2493 } 2493 }
2494 } 2494 }
2495 return false; 2495 return false;
2496} 2496}
2497 2497
2498void Jornada::init ( ) 2498void Jornada::init ( )
2499{ 2499{
2500 d-> m_vendorstr = "HP"; 2500 d-> m_vendorstr = "HP";
2501 d-> m_vendor = Vendor_HP; 2501 d-> m_vendor = Vendor_HP;
2502 d-> m_modelstr = "Jornada 56x"; 2502 d-> m_modelstr = "Jornada 56x";
2503 d-> m_model = Model_Jornada_56x; 2503 d-> m_model = Model_Jornada_56x;
2504 d-> m_systemstr = "Familiar"; 2504 d-> m_systemstr = "Familiar";
2505 d-> m_system = System_Familiar; 2505 d-> m_system = System_Familiar;
2506 d-> m_rotation = Rot0; 2506 d-> m_rotation = Rot0;
2507
2508 QFile f ( "/etc/familiar-version" );
2509 f. setName ( "/etc/familiar-version" );
2510 if ( f. open ( IO_ReadOnly )) {
2511
2512 QTextStream ts ( &f );
2513 d-> m_sysverstr = ts. readLine ( ). mid ( 10 );
2514
2515 f. close ( );
2516 }
2507} 2517}
2508 2518
2519
2509void Jornada::initButtons ( ) 2520void Jornada::initButtons ( )
2510{ 2521{
2511 if ( d-> m_buttons ) 2522 if ( d-> m_buttons )
2512 return; 2523 return;
2513 2524
2514 // Simulation uses iPAQ 3660 device buttons 2525 // Simulation uses iPAQ 3660 device buttons
2515 2526
2516 qDebug ( "init Buttons" ); 2527 qDebug ( "init Buttons" );
2517 d-> m_buttons = new QValueList <ODeviceButton>; 2528 d-> m_buttons = new QValueList <ODeviceButton>;
2518 2529
2519 for ( uint i = 0; i < ( sizeof( ipaq_buttons ) / sizeof( i_button )); i++ ) { 2530 for ( uint i = 0; i < ( sizeof( ipaq_buttons ) / sizeof( i_button )); i++ ) {
2520 i_button *ib = ipaq_buttons + i; 2531 i_button *ib = ipaq_buttons + i;
2521 ODeviceButton b; 2532 ODeviceButton b;
2522 2533
2523 if (( ib-> model & Model_iPAQ_H36xx ) == Model_iPAQ_H36xx ) { 2534 if (( ib-> model & Model_iPAQ_H36xx ) == Model_iPAQ_H36xx ) {
2524 b. setKeycode ( ib-> code ); 2535 b. setKeycode ( ib-> code );
2525 b. setUserText ( QObject::tr ( "Button", ib-> utext )); 2536 b. setUserText ( QObject::tr ( "Button", ib-> utext ));
2526 b. setPixmap ( Resource::loadPixmap ( ib-> pix )); 2537 b. setPixmap ( Resource::loadPixmap ( ib-> pix ));
2527 b. setFactoryPresetPressedAction ( OQCopMessage ( makeChannel ( ib-> fpressedservice ), ib-> fpressedaction )); 2538 b. setFactoryPresetPressedAction ( OQCopMessage ( makeChannel ( ib-> fpressedservice ), ib-> fpressedaction ));
2528 b. setFactoryPresetHeldAction ( OQCopMessage ( makeChannel ( ib-> fheldservice ), ib-> fheldaction )); 2539 b. setFactoryPresetHeldAction ( OQCopMessage ( makeChannel ( ib-> fheldservice ), ib-> fheldaction ));
2529 d-> m_buttons-> append ( b ); 2540 d-> m_buttons-> append ( b );
2530 } 2541 }
2531 } 2542 }
2532 reloadButtonMapping ( ); 2543 reloadButtonMapping ( );
2533 2544
2534 QCopChannel *sysch = new QCopChannel ( "QPE/System", this ); 2545 QCopChannel *sysch = new QCopChannel ( "QPE/System", this );
2535 connect ( sysch, SIGNAL( received( const QCString &, const QByteArray & )), this, SLOT( systemMessage ( const QCString &, const QByteArray & ))); 2546 connect ( sysch, SIGNAL( received( const QCString &, const QByteArray & )), this, SLOT( systemMessage ( const QCString &, const QByteArray & )));
2536} 2547}
2537 2548
2538int Jornada::displayBrightnessResolution ( ) const 2549int Jornada::displayBrightnessResolution ( ) const
2539{ 2550{
2540} 2551}
2541 2552
2542bool Jornada::setDisplayBrightness ( int bright ) 2553bool Jornada::setDisplayBrightness ( int bright )
2543{ 2554{
2544 bool res = false; 2555 bool res = false;
2545 int fd; 2556 int fd;
2546 2557
2547 if ( bright > 255 ) 2558 if ( bright > 255 )
2548 bright = 255; 2559 bright = 255;
2549 if ( bright < 0 ) 2560 if ( bright < 0 )
2550 bright = 0; 2561 bright = 0;
2551 2562
2552 if (( fd = ::open ( "/dev/touchscreen/0", O_WRONLY )) >= 0 ) { 2563 if (( fd = ::open ( "/dev/touchscreen/0", O_WRONLY )) >= 0 ) {
2553 FLITE_IN bl; 2564 FLITE_IN bl;
2554 bl. mode = 1; 2565 bl. mode = 1;
2555 bl. pwr = bright ? 1 : 0; 2566 bl. pwr = bright ? 1 : 0;
2556 bl. brightness = ( bright * ( displayBrightnessResolution ( ) - 1 ) + 127 ) / 255; 2567 bl. brightness = ( bright * ( displayBrightnessResolution ( ) - 1 ) + 127 ) / 255;
2557 res = ( ::ioctl ( fd, FLITE_ON, &bl ) == 0 ); 2568 res = ( ::ioctl ( fd, FLITE_ON, &bl ) == 0 );
2558 ::close ( fd ); 2569 ::close ( fd );
2559 } 2570 }
2560 return res; 2571 return res;
2561} 2572}
2562 2573
2563bool Jornada::setSoftSuspend ( bool soft ) 2574bool Jornada::setSoftSuspend ( bool soft )
2564{ 2575{
2565 bool res = false; 2576 bool res = false;
2566 int fd; 2577 int fd;
2567 2578
2568 if (( fd = ::open ( "/proc/sys/ts/suspend_button_mode", O_WRONLY )) >= 0 ) { 2579 if (( fd = ::open ( "/proc/sys/ts/suspend_button_mode", O_WRONLY )) >= 0 ) {
2569 if ( ::write ( fd, soft ? "1" : "0", 1 ) == 1 ) 2580 if ( ::write ( fd, soft ? "1" : "0", 1 ) == 1 )
2570 res = true; 2581 res = true;
2571 else 2582 else
2572 ::perror ( "write to /proc/sys/ts/suspend_button_mode" ); 2583 ::perror ( "write to /proc/sys/ts/suspend_button_mode" );