summaryrefslogtreecommitdiff
authorchicken <chicken>2003-11-02 20:12:26 (UTC)
committer chicken <chicken>2003-11-02 20:12:26 (UTC)
commit559f4034cd483845b107aa7180f56e701c1444e6 (patch) (unidiff)
treece5ed970a0cb49429b39d72173953adb24280a4e
parent1b73bc0cb5c1d6fe7363d7bf30d8ca1a467e3e8d (diff)
downloadopie-559f4034cd483845b107aa7180f56e701c1444e6.zip
opie-559f4034cd483845b107aa7180f56e701c1444e6.tar.gz
opie-559f4034cd483845b107aa7180f56e701c1444e6.tar.bz2
add iPAQ H5xxx support
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--libopie/odevice.cpp27
-rw-r--r--libopie/odevice.h1
2 files changed, 18 insertions, 10 deletions
diff --git a/libopie/odevice.cpp b/libopie/odevice.cpp
index 13b4330..3edf8e7 100644
--- a/libopie/odevice.cpp
+++ b/libopie/odevice.cpp
@@ -106,13 +106,13 @@ protected:
106 OLedState m_leds [2]; 106 OLedState m_leds [2];
107}; 107};
108 108
109class Jornada : public ODevice { 109class Jornada : public ODevice {
110protected: 110protected:
111 virtual void init ( ); 111 virtual void init ( );
112 virtual void initButtons ( ); 112 //virtual void initButtons ( );
113public: 113public:
114 virtual bool setSoftSuspend ( bool soft ); 114 virtual bool setSoftSuspend ( bool soft );
115 virtual bool setDisplayBrightness ( int b ); 115 virtual bool setDisplayBrightness ( int b );
116 virtual int displayBrightnessResolution ( ) const; 116 virtual int displayBrightnessResolution ( ) const;
117 static bool isJornada(); 117 static bool isJornada();
118 118
@@ -204,38 +204,38 @@ struct i_button {
204 char *pix; 204 char *pix;
205 char *fpressedservice; 205 char *fpressedservice;
206 char *fpressedaction; 206 char *fpressedaction;
207 char *fheldservice; 207 char *fheldservice;
208 char *fheldaction; 208 char *fheldaction;
209} ipaq_buttons [] = { 209} ipaq_buttons [] = {
210 { Model_iPAQ_H31xx | Model_iPAQ_H36xx | Model_iPAQ_H37xx | Model_iPAQ_H38xx | Model_iPAQ_H39xx, 210 { Model_iPAQ_H31xx | Model_iPAQ_H36xx | Model_iPAQ_H37xx | Model_iPAQ_H38xx | Model_iPAQ_H39xx | Model_iPAQ_H5xxx,
211 Qt::Key_F9, QT_TRANSLATE_NOOP("Button", "Calendar Button"), 211 Qt::Key_F9, QT_TRANSLATE_NOOP("Button", "Calendar Button"),
212 "devicebuttons/ipaq_calendar", 212 "devicebuttons/ipaq_calendar",
213 "datebook", "nextView()", 213 "datebook", "nextView()",
214 "today", "raise()" }, 214 "today", "raise()" },
215 { Model_iPAQ_H31xx | Model_iPAQ_H36xx | Model_iPAQ_H37xx | Model_iPAQ_H38xx | Model_iPAQ_H39xx, 215 { Model_iPAQ_H31xx | Model_iPAQ_H36xx | Model_iPAQ_H37xx | Model_iPAQ_H38xx | Model_iPAQ_H39xx | Model_iPAQ_H5xxx,
216 Qt::Key_F10, QT_TRANSLATE_NOOP("Button", "Contacts Button"), 216 Qt::Key_F10, QT_TRANSLATE_NOOP("Button", "Contacts Button"),
217 "devicebuttons/ipaq_contact", 217 "devicebuttons/ipaq_contact",
218 "addressbook", "raise()", 218 "addressbook", "raise()",
219 "addressbook", "beamBusinessCard()" }, 219 "addressbook", "beamBusinessCard()" },
220 { Model_iPAQ_H31xx | Model_iPAQ_H36xx | Model_iPAQ_H37xx, 220 { Model_iPAQ_H31xx | Model_iPAQ_H36xx | Model_iPAQ_H37xx,
221 Qt::Key_F11, QT_TRANSLATE_NOOP("Button", "Menu Button"), 221 Qt::Key_F11, QT_TRANSLATE_NOOP("Button", "Menu Button"),
222 "devicebuttons/ipaq_menu", 222 "devicebuttons/ipaq_menu",
223 "QPE/TaskBar", "toggleMenu()", 223 "QPE/TaskBar", "toggleMenu()",
224 "QPE/TaskBar", "toggleStartMenu()" }, 224 "QPE/TaskBar", "toggleStartMenu()" },
225 { Model_iPAQ_H38xx | Model_iPAQ_H39xx, 225 { Model_iPAQ_H38xx | Model_iPAQ_H39xx | Model_iPAQ_H5xxx,
226 Qt::Key_F13, QT_TRANSLATE_NOOP("Button", "Mail Button"), 226 Qt::Key_F13, QT_TRANSLATE_NOOP("Button", "Mail Button"),
227 "devicebuttons/ipaq_mail", 227 "devicebuttons/ipaq_mail",
228 "mail", "raise()", 228 "mail", "raise()",
229 "mail", "newMail()" }, 229 "mail", "newMail()" },
230 { Model_iPAQ_H31xx | Model_iPAQ_H36xx | Model_iPAQ_H37xx | Model_iPAQ_H38xx | Model_iPAQ_H39xx, 230 { Model_iPAQ_H31xx | Model_iPAQ_H36xx | Model_iPAQ_H37xx | Model_iPAQ_H38xx | Model_iPAQ_H39xx | Model_iPAQ_H5xxx,
231 Qt::Key_F12, QT_TRANSLATE_NOOP("Button", "Home Button"), 231 Qt::Key_F12, QT_TRANSLATE_NOOP("Button", "Home Button"),
232 "devicebuttons/ipaq_home", 232 "devicebuttons/ipaq_home",
233 "QPE/Launcher", "home()", 233 "QPE/Launcher", "home()",
234 "buttonsettings", "raise()" }, 234 "buttonsettings", "raise()" },
235 { Model_iPAQ_H31xx | Model_iPAQ_H36xx | Model_iPAQ_H37xx | Model_iPAQ_H38xx | Model_iPAQ_H39xx, 235 { Model_iPAQ_H31xx | Model_iPAQ_H36xx | Model_iPAQ_H37xx | Model_iPAQ_H38xx | Model_iPAQ_H39xx | Model_iPAQ_H5xxx,
236 Qt::Key_F24, QT_TRANSLATE_NOOP("Button", "Record Button"), 236 Qt::Key_F24, QT_TRANSLATE_NOOP("Button", "Record Button"),
237 "devicebuttons/ipaq_record", 237 "devicebuttons/ipaq_record",
238 "QPE/VMemo", "toggleRecord()", 238 "QPE/VMemo", "toggleRecord()",
239 "sound", "raise()" }, 239 "sound", "raise()" },
240}; 240};
241 241
@@ -1115,12 +1115,14 @@ void iPAQ::init ( )
1115 else if ( d-> m_modelstr == "H3700" ) 1115 else if ( d-> m_modelstr == "H3700" )
1116 d-> m_model = Model_iPAQ_H37xx; 1116 d-> m_model = Model_iPAQ_H37xx;
1117 else if ( d-> m_modelstr == "H3800" ) 1117 else if ( d-> m_modelstr == "H3800" )
1118 d-> m_model = Model_iPAQ_H38xx; 1118 d-> m_model = Model_iPAQ_H38xx;
1119 else if ( d-> m_modelstr == "H3900" ) 1119 else if ( d-> m_modelstr == "H3900" )
1120 d-> m_model = Model_iPAQ_H39xx; 1120 d-> m_model = Model_iPAQ_H39xx;
1121 else if ( d-> m_modelstr == "H5400" )
1122 d-> m_model = Model_iPAQ_H5xxx;
1121 else 1123 else
1122 d-> m_model = Model_Unknown; 1124 d-> m_model = Model_Unknown;
1123 1125
1124 f. close ( ); 1126 f. close ( );
1125 } 1127 }
1126 1128
@@ -1132,13 +1134,15 @@ void iPAQ::init ( )
1132 case Model_iPAQ_H36xx: 1134 case Model_iPAQ_H36xx:
1133 case Model_iPAQ_H37xx: 1135 case Model_iPAQ_H37xx:
1134 case Model_iPAQ_H39xx: 1136 case Model_iPAQ_H39xx:
1135 default: 1137 default:
1136 d-> m_rotation = Rot270; 1138 d-> m_rotation = Rot270;
1137 break; 1139 break;
1138 } 1140 case Model_iPAQ_H5xxx:
1141 d-> m_rotation = Rot0;
1142 }
1139 1143
1140 f. setName ( "/etc/familiar-version" ); 1144 f. setName ( "/etc/familiar-version" );
1141 if ( f. open ( IO_ReadOnly )) { 1145 if ( f. open ( IO_ReadOnly )) {
1142 d-> m_systemstr = "Familiar"; 1146 d-> m_systemstr = "Familiar";
1143 d-> m_system = System_Familiar; 1147 d-> m_system = System_Familiar;
1144 1148
@@ -1289,13 +1293,14 @@ bool iPAQ::filter ( int /*unicode*/, int keycode, int modifiers, bool isPress, b
1289 int newkeycode = keycode; 1293 int newkeycode = keycode;
1290 1294
1291 switch ( keycode ) { 1295 switch ( keycode ) {
1292 // H38xx/H39xx have no "Q" key anymore - this is now the Mail key 1296 // H38xx/H39xx have no "Q" key anymore - this is now the Mail key
1293 case HardKey_Menu: { 1297 case HardKey_Menu: {
1294 if (( d-> m_model == Model_iPAQ_H38xx ) || 1298 if (( d-> m_model == Model_iPAQ_H38xx ) ||
1295 ( d-> m_model == Model_iPAQ_H39xx )) { 1299 ( d-> m_model == Model_iPAQ_H39xx ) ||
1300 ( d-> m_model == Model_iPAQ_H5xxx)) {
1296 newkeycode = HardKey_Mail; 1301 newkeycode = HardKey_Mail;
1297 } 1302 }
1298 break; 1303 break;
1299 } 1304 }
1300 1305
1301 // Rotate cursor keys 180° 1306 // Rotate cursor keys 180°
@@ -1433,12 +1438,14 @@ int iPAQ::displayBrightnessResolution ( ) const
1433 case Model_iPAQ_H37xx: 1438 case Model_iPAQ_H37xx:
1434 return 128; // really 256, but >128 could damage the LCD 1439 return 128; // really 256, but >128 could damage the LCD
1435 1440
1436 case Model_iPAQ_H38xx: 1441 case Model_iPAQ_H38xx:
1437 case Model_iPAQ_H39xx: 1442 case Model_iPAQ_H39xx:
1438 return 64; 1443 return 64;
1444 case Model_iPAQ_H5xxx:
1445 return 255;
1439 1446
1440 default: 1447 default:
1441 return 2; 1448 return 2;
1442 } 1449 }
1443} 1450}
1444 1451
@@ -2513,13 +2520,13 @@ void Jornada::init ( )
2513 d-> m_sysverstr = ts. readLine ( ). mid ( 10 ); 2520 d-> m_sysverstr = ts. readLine ( ). mid ( 10 );
2514 2521
2515 f. close ( ); 2522 f. close ( );
2516 } 2523 }
2517} 2524}
2518 2525
2519 2526#if 0
2520void Jornada::initButtons ( ) 2527void Jornada::initButtons ( )
2521{ 2528{
2522 if ( d-> m_buttons ) 2529 if ( d-> m_buttons )
2523 return; 2530 return;
2524 2531
2525 // Simulation uses iPAQ 3660 device buttons 2532 // Simulation uses iPAQ 3660 device buttons
@@ -2542,13 +2549,13 @@ void Jornada::initButtons ( )
2542 } 2549 }
2543 reloadButtonMapping ( ); 2550 reloadButtonMapping ( );
2544 2551
2545 QCopChannel *sysch = new QCopChannel ( "QPE/System", this ); 2552 QCopChannel *sysch = new QCopChannel ( "QPE/System", this );
2546 connect ( sysch, SIGNAL( received( const QCString &, const QByteArray & )), this, SLOT( systemMessage ( const QCString &, const QByteArray & ))); 2553 connect ( sysch, SIGNAL( received( const QCString &, const QByteArray & )), this, SLOT( systemMessage ( const QCString &, const QByteArray & )));
2547} 2554}
2548 2555#endif
2549int Jornada::displayBrightnessResolution ( ) const 2556int Jornada::displayBrightnessResolution ( ) const
2550{ 2557{
2551} 2558}
2552 2559
2553bool Jornada::setDisplayBrightness ( int bright ) 2560bool Jornada::setDisplayBrightness ( int bright )
2554{ 2561{
diff --git a/libopie/odevice.h b/libopie/odevice.h
index 35e3eff..46f1614 100644
--- a/libopie/odevice.h
+++ b/libopie/odevice.h
@@ -47,12 +47,13 @@ enum OModel {
47 Model_iPAQ_All = ( Model_iPAQ | 0xffffff ), 47 Model_iPAQ_All = ( Model_iPAQ | 0xffffff ),
48 Model_iPAQ_H31xx = ( Model_iPAQ | 0x000001 ), 48 Model_iPAQ_H31xx = ( Model_iPAQ | 0x000001 ),
49 Model_iPAQ_H36xx = ( Model_iPAQ | 0x000002 ), 49 Model_iPAQ_H36xx = ( Model_iPAQ | 0x000002 ),
50 Model_iPAQ_H37xx = ( Model_iPAQ | 0x000004 ), 50 Model_iPAQ_H37xx = ( Model_iPAQ | 0x000004 ),
51 Model_iPAQ_H38xx = ( Model_iPAQ | 0x000008 ), 51 Model_iPAQ_H38xx = ( Model_iPAQ | 0x000008 ),
52 Model_iPAQ_H39xx = ( Model_iPAQ | 0x000010 ), 52 Model_iPAQ_H39xx = ( Model_iPAQ | 0x000010 ),
53 Model_iPAQ_H5xxx = ( Model_iPAQ | 0x000011 ),
53 54
54 Model_Jornada = ( 6 << 24 ), 55 Model_Jornada = ( 6 << 24 ),
55 Model_Jornada_56x = ( Model_Jornada | 0x000001 ), 56 Model_Jornada_56x = ( Model_Jornada | 0x000001 ),
56 57
57 Model_Zaurus = ( 2 << 24 ), 58 Model_Zaurus = ( 2 << 24 ),
58 59