-rw-r--r-- | libopie/odevice.cpp | 107 |
1 files changed, 73 insertions, 34 deletions
diff --git a/libopie/odevice.cpp b/libopie/odevice.cpp index 61c24f4..dea24a8 100644 --- a/libopie/odevice.cpp +++ b/libopie/odevice.cpp @@ -1,15 +1,15 @@ /* This file is part of the OPIE libraries Copyright (C) 2002 Robert Griebl (sandman@handhelds.org) - + This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. - + This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. - + You should have received a copy of the GNU Library General Public License along with this library; see the file COPYING.LIB. If not, write to @@ -54,5 +54,5 @@ public: class ODeviceZaurus : public ODevice { -protected: +protected: virtual void init ( ); @@ -61,5 +61,5 @@ public: virtual void keySound ( ); virtual void touchSound ( ); - + virtual uint hasLeds ( ) const; virtual OLedState led ( uint which ) const; @@ -93,5 +93,5 @@ ODevice::ODevice ( ) { d = new ODeviceData; - + d-> m_modelstr = "Unknown"; d-> m_model = OMODEL_Unknown; @@ -99,5 +99,5 @@ ODevice::ODevice ( ) d-> m_vendor = OVENDOR_Unknown; d-> m_systemstr = "Unkown"; - d-> m_system = OSYSTEM_Unknown; + d-> m_system = OSYSTEM_Unknown; } @@ -143,4 +143,5 @@ OSystem ODevice::system ( ) void ODevice::alarmSound ( ) { +#ifndef QT_QWS_EBX #ifndef QT_NO_SOUND static Sound snd ( "alarm" ); @@ -149,8 +150,10 @@ void ODevice::alarmSound ( ) snd. play ( ); #endif +#endif } void ODevice::keySound ( ) { +#ifndef QT_QWS_EBX #ifndef QT_NO_SOUND static Sound snd ( "keysound" ); @@ -159,13 +162,19 @@ void ODevice::keySound ( ) snd. play ( ); #endif +#endif } void ODevice::touchSound ( ) { + +#ifndef QT_QWS_EBX #ifndef QT_NO_SOUND static Sound snd ( "touchsound" ); - - if ( snd. isFinished ( )) +qDebug("touchSound"); + if ( snd. isFinished ( )) { snd. play ( ); + qDebug("sound should play"); + } +#endif #endif } @@ -195,13 +204,13 @@ void ODeviceIPAQ::init ( ) { d-> m_vendorstr = "HP"; - d-> m_vendor = OVENDOR_HP; - + d-> m_vendor = OVENDOR_HP; + QFile f ( "/proc/hal/model" ); - + if ( f. open ( IO_ReadOnly )) { QTextStream ts ( &f ); - + d-> m_modelstr = "H" + ts. readLine ( ); - + if ( d-> m_modelstr == "H3100" ) d-> m_model = OMODEL_iPAQ_H31xx; @@ -214,5 +223,5 @@ void ODeviceIPAQ::init ( ) else d-> m_model = OMODEL_Unknown; - + f. close ( ); } @@ -222,5 +231,5 @@ void ODeviceIPAQ::init ( ) d-> m_system = OSYSTEM_Familiar; } - + d-> m_leds [0] = OLED_Off; } @@ -233,5 +242,5 @@ void ODeviceIPAQ::init ( ) #include <qpe/config.h> -//#include <linux/h3600_ts.h> // including kernel headers is evil ... +//#include <linux/h3600_ts.h> // including kernel headers is evil ... typedef struct h3600_ts_led { @@ -243,11 +252,12 @@ typedef struct h3600_ts_led { -// #define IOC_H3600_TS_MAGIC 'f' +// #define IOC_H3600_TS_MAGIC 'f' // #define LED_ON _IOW(IOC_H3600_TS_MAGIC, 5, struct h3600_ts_led) #define LED_ON (( 1<<30 ) | ( 'f'<<8 ) | ( 5 ) | ( sizeof(struct h3600_ts_led)<<16 )) // _IOW only defined in kernel headers :( - + void ODeviceIPAQ::alarmSound ( ) { +#if defined( QT_QWS_IPAQ ) // IPAQ #ifndef QT_NO_SOUND static Sound snd ( "alarm" ); @@ -267,7 +277,7 @@ void ODeviceIPAQ::alarmSound ( ) volalarm = 0; else if ( volalarm > 100 ) - volalarm = 100; + volalarm = 100; volalarm |= ( volalarm << 8 ); - + if (( volalarm & 0xff ) > ( vol & 0xff )) { if ( ::ioctl ( fd, MIXER_WRITE( 0 ), &volalarm ) >= 0 ) @@ -287,4 +297,5 @@ void ODeviceIPAQ::alarmSound ( ) } #endif +#endif } @@ -299,13 +310,13 @@ OLedState ODeviceIPAQ::led ( uint which ) const return d-> m_leds [0]; else - return OLED_Off; + return OLED_Off; } bool ODeviceIPAQ::setLed ( uint which, OLedState st ) { - static int fd = ::open ( "/dev/touchscreen/0", O_RDWR|O_NONBLOCK ); + static int fd = ::open ( "/dev/touchscreen/0", O_RDWR|O_NONBLOCK ); if ( which == 0 ) { - if ( fd >= 0 ) { + if ( fd >= 0 ) { struct h3600_ts_led leds; ::memset ( &leds, 0, sizeof( leds )); @@ -314,5 +325,5 @@ bool ODeviceIPAQ::setLed ( uint which, OLedState st ) leds. OffTime = 1; leds. OffOnBlink = 2; - + switch ( st ) { case OLED_Off : leds. OffOnBlink = 0; break; @@ -321,5 +332,5 @@ bool ODeviceIPAQ::setLed ( uint which, OLedState st ) case OLED_BlinkFast: leds. OnTime = 5; leds. OffTime = 5; break; } - + if ( ::ioctl ( fd, LED_ON, &leds ) >= 0 ) { d-> m_leds [0] = st; @@ -338,8 +349,8 @@ bool ODeviceIPAQ::setLed ( uint which, OLedState st ) -//#if defined( QT_QWS_CUSTOM ) // Zaurus +//#if defined( QT_QWS_EBX ) // Zaurus void ODeviceZaurus::init ( ) -{ +{ d-> m_modelstr = "Zaurus SL5000"; d-> m_model = OMODEL_Zaurus_SL5000; @@ -348,11 +359,11 @@ void ODeviceZaurus::init ( ) QFile f ( "/proc/filesystems" ); - + if ( f. open ( IO_ReadOnly ) && ( QTextStream ( &f ). read ( ). find ( "\tjffs2\n" ) >= 0 )) { d-> m_systemstr = "OpenZaurus"; d-> m_system = OSYSTEM_OpenZaurus; - + f. close ( ); - } + } else { d-> m_systemstr = "Zaurus"; @@ -373,9 +384,37 @@ void ODeviceZaurus::init ( ) #define SHARP_BUZZER_IOCTL_START (SHARP_DEV_IOCTL_COMMAND_START) #define SHARP_BUZZER_MAKESOUND (SHARP_BUZZER_IOCTL_START) - + #define SHARP_BUZ_TOUCHSOUND 1 /* touch panel sound */ #define SHARP_BUZ_KEYSOUND 2 /* key sound */ #define SHARP_BUZ_SCHEDULE_ALARM 11 /* schedule alarm */ - + +/* --- for SHARP_BUZZER device --- */ + +//#define SHARP_BUZZER_IOCTL_START (SHARP_DEV_IOCTL_COMMAND_START) +//#define SHARP_BUZZER_MAKESOUND (SHARP_BUZZER_IOCTL_START) + +#define SHARP_BUZZER_SETVOLUME (SHARP_BUZZER_IOCTL_START+1) +#define SHARP_BUZZER_GETVOLUME (SHARP_BUZZER_IOCTL_START+2) +#define SHARP_BUZZER_ISSUPPORTED (SHARP_BUZZER_IOCTL_START+3) +#define SHARP_BUZZER_SETMUTE (SHARP_BUZZER_IOCTL_START+4) +#define SHARP_BUZZER_STOPSOUND (SHARP_BUZZER_IOCTL_START+5) + +//#define SHARP_BUZ_TOUCHSOUND 1 /* touch panel sound */ +//#define SHARP_BUZ_KEYSOUND 2 /* key sound */ + +//#define SHARP_PDA_ILLCLICKSOUND 3 /* illegal click */ +//#define SHARP_PDA_WARNSOUND 4 /* warning occurred */ +//#define SHARP_PDA_ERRORSOUND 5 /* error occurred */ +//#define SHARP_PDA_CRITICALSOUND 6 /* critical error occurred */ +//#define SHARP_PDA_SYSSTARTSOUND 7 /* system start */ +//#define SHARP_PDA_SYSTEMENDSOUND 8 /* system shutdown */ +//#define SHARP_PDA_APPSTART 9 /* application start */ +//#define SHARP_PDA_APPQUIT 10 /* application ends */ + +//#define SHARP_BUZ_SCHEDULE_ALARM 11 /* schedule alarm */ +//#define SHARP_BUZ_DAILY_ALARM 12 /* daily alarm */ +//#define SHARP_BUZ_GOT_PHONE_CALL 13 /* phone call sound */ +//#define SHARP_BUZ_GOT_MAIL 14 /* mail sound */ +// #define SHARP_LED_IOCTL_START (SHARP_DEV_IOCTL_COMMAND_START) @@ -386,5 +425,5 @@ typedef struct sharp_led_status { int status; /* set new led status if you call SHARP_LED_SETSTATUS */ } sharp_led_status; - + #define SHARP_LED_MAIL_EXISTS 9 /* mail status (exists or not) */ |