summaryrefslogtreecommitdiff
path: root/libopie2/opiecore/device/odevice_palm.cpp
Unidiff
Diffstat (limited to 'libopie2/opiecore/device/odevice_palm.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opiecore/device/odevice_palm.cpp222
1 files changed, 187 insertions, 35 deletions
diff --git a/libopie2/opiecore/device/odevice_palm.cpp b/libopie2/opiecore/device/odevice_palm.cpp
index d40dfce..892083e 100644
--- a/libopie2/opiecore/device/odevice_palm.cpp
+++ b/libopie2/opiecore/device/odevice_palm.cpp
@@ -1,28 +1,28 @@
1/* 1/*
2                 This file is part of the Opie Project 2 � � � � � � � � This file is part of the Opie Project
3 3
4 Copyright (C)2002-2005 The Opie Team <opie-devel@handhelds.org> 4 Copyright (C)2002-2005 The Opie Team <opie-devel@handhelds.org>
5 =. 5 =.
6 .=l. 6 .=l.
7           .>+-= 7� � � � � �.>+-=
8 _;:,     .>    :=|. This program is free software; you can 8�_;:, � � .> � �:=|. This program is free software; you can
9.> <`_,   >  .   <= redistribute it and/or modify it under 9.> <`_, � > �. � <= redistribute it and/or modify it under
10:`=1 )Y*s>-.--   : the terms of the GNU Library General Public 10:`=1 )Y*s>-.-- � : the terms of the GNU Library General Public
11.="- .-=="i,     .._ License as published by the Free Software 11.="- .-=="i, � � .._ License as published by the Free Software
12 - .   .-<_>     .<> Foundation; either version 2 of the License, 12�- . � .-<_> � � .<> Foundation; either version 2 of the License,
13     ._= =}       : or (at your option) any later version. 13� � �._= =} � � � : or (at your option) any later version.
14    .%`+i>       _;_. 14� � .%`+i> � � � _;_.
15    .i_,=:_.      -<s. This program is distributed in the hope that 15� � .i_,=:_. � � �-<s. This program is distributed in the hope that
16     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY; 16� � �+ �. �-:. � � � = it will be useful, but WITHOUT ANY WARRANTY;
17 : ..    .:,     . . . without even the implied warranty of 17 : .. � �.:, � � . . . without even the implied warranty of
18    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A 18� � =_ � � � �+ � � =;=|` MERCHANTABILITY or FITNESS FOR A
19  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU 19� _.=:. � � � : � �:=>`: PARTICULAR PURPOSE. See the GNU
20..}^=.=       =       ; Library General Public License for more 20..}^=.= � � � = � � � ; Library General Public License for more
21++=   -.     .`     .: details. 21++= � -. � � .` � � .: details.
22:     =  ...= . :.=- 22: � � = �...= . :.=-
23 -.   .:....=;==+<; You should have received a copy of the GNU 23�-. � .:....=;==+<; You should have received a copy of the GNU
24  -_. . .   )=.  = Library General Public License along with 24� -_. . . � )=. �= Library General Public License along with
25    --        :-=` this library; see the file COPYING.LIB. 25� � -- � � � �:-=` this library; see the file COPYING.LIB.
26 If not, write to the Free Software Foundation, 26 If not, write to the Free Software Foundation,
27 Inc., 59 Temple Place - Suite 330, 27 Inc., 59 Temple Place - Suite 330,
28 Boston, MA 02111-1307, USA. 28 Boston, MA 02111-1307, USA.
@@ -61,35 +61,58 @@ using namespace Opie::Core;
61using namespace Opie::Core::Internal; 61using namespace Opie::Core::Internal;
62 62
63struct palm_button palm_buttons [] = { 63struct palm_button palm_buttons [] = {
64 { Model_Palm_TX | Model_Palm_LD | Model_Palm_Z72, 64 { Model_Palm_TT | Model_Palm_TT2 | Model_Palm_TT3 | Model_Palm_TT5 |
65 Model_Palm_TE | Model_Palm_TE2 | Model_Palm_TC | Model_Palm_LD |
66 Model_Palm_TX | Model_Palm_Z71 | Model_Palm_Z72 | Model_Palm_T600 |
67 Model_Palm_T650 | Model_Palm_T680 | Model_Palm_T700W |
68 Model_Palm_T700P | Model_Palm_T750 | Model_Palm_T755P,
65 Qt::Key_F9, QT_TRANSLATE_NOOP( "Button", "Home Button" ), 69 Qt::Key_F9, QT_TRANSLATE_NOOP( "Button", "Home Button" ),
66 "devicebuttons/palm_home", 70 "devicebuttons/palm_home",
67 "QPE/Launcher", "home()", 71 "QPE/Launcher", "home()",
68 "buttonsettings", "raise()" }, 72 "buttonsettings", "raise()" },
69 { Model_Palm_TX | Model_Palm_LD | Model_Palm_Z72, 73 { Model_Palm_TT | Model_Palm_TT2 | Model_Palm_TT3 | Model_Palm_TT5 |
74 Model_Palm_TE | Model_Palm_TE2 | Model_Palm_TC | Model_Palm_LD |
75 Model_Palm_TX | Model_Palm_Z71 | Model_Palm_Z72 | Model_Palm_T600 |
76 Model_Palm_T650 | Model_Palm_T680 | Model_Palm_T700W |
77 Model_Palm_T700P | Model_Palm_T750 | Model_Palm_T755P,
70 Qt::Key_F10, QT_TRANSLATE_NOOP( "Button", "Calendar Button" ), 78 Qt::Key_F10, QT_TRANSLATE_NOOP( "Button", "Calendar Button" ),
71 "devicebuttons/palm_calendar", 79 "devicebuttons/palm_calendar",
72 "datebook", "nextView()", 80 "datebook", "nextView()",
73 "today", "raise()" }, 81 "today", "raise()" },
74 { Model_Palm_TX | Model_Palm_LD | Model_Palm_Z72, 82 { Model_Palm_TT | Model_Palm_TT2 | Model_Palm_TT3 | Model_Palm_TT5 |
83 Model_Palm_TE | Model_Palm_TE2 | Model_Palm_TC | Model_Palm_LD |
84 Model_Palm_TX | Model_Palm_Z71 | Model_Palm_Z72 | Model_Palm_T600 |
85 Model_Palm_T650 | Model_Palm_T680 | Model_Palm_T700W |
86 Model_Palm_T700P | Model_Palm_T750 | Model_Palm_T755P,
75 Qt::Key_F11, QT_TRANSLATE_NOOP( "Button", "Todo Button" ), 87 Qt::Key_F11, QT_TRANSLATE_NOOP( "Button", "Todo Button" ),
76 "devicebuttons/palm_todo", 88 "devicebuttons/palm_todo",
77 "todolist", "raise()", 89 "todolist", "raise()",
78 "todolist", "create()" }, 90 "todolist", "create()" },
79 { Model_Palm_TX | Model_Palm_LD | Model_Palm_Z72, 91 { Model_Palm_TT | Model_Palm_TT2 | Model_Palm_TT3 | Model_Palm_TT5 |
92 Model_Palm_TE | Model_Palm_TE2 | Model_Palm_TC | Model_Palm_LD |
93 Model_Palm_TX | Model_Palm_Z71 | Model_Palm_Z72 | Model_Palm_T600 |
94 Model_Palm_T650 | Model_Palm_T680 | Model_Palm_T700W |
95 Model_Palm_T700P | Model_Palm_T750 | Model_Palm_T755P,
80 Qt::Key_F12, QT_TRANSLATE_NOOP( "Button", "Mail Button" ), 96 Qt::Key_F12, QT_TRANSLATE_NOOP( "Button", "Mail Button" ),
81 "devicebuttons/palm_mail", 97 "devicebuttons/palm_mail",
82 "opiemail", "raise()", 98 "opiemail", "raise()",
83 "opiemail", "newmail()" }, 99 "opiemail", "newmail()" },
84 { Model_Palm_LD, 100 { Model_Palm_LD | Model_Palm_Z72 | Model_Palm_T600 | Model_Palm_T650 |
85 Qt::Key_F7, QT_TRANSLATE_NOOP( "Button", "Voice Memo Button" ), 101 Model_Palm_T680 | Model_Palm_T700W | Model_Palm_T700P |
86 "devicebuttons/palm_voice_memo", 102 Model_Palm_T750 | Model_Palm_T755P,
87 "QPE/TaskBar", "toggleMenu()", 103 Qt::Key_F7, QT_TRANSLATE_NOOP( "Button", "Record Button" ),
88 "QPE/TaskBar", "toggleStartMenu()" }, 104 "devicebuttons/palm_record",
89 { Model_Palm_LD, 105 "QPE/VMemo", "toggleRecord()",
90 Qt::Key_F8, QT_TRANSLATE_NOOP( "Button", "Rotate Button" ), 106 "sound", "raise()" },
91 "devicebuttons/palm_rotate", 107 { Model_Palm_TT | Model_Palm_TT2 | Model_Palm_TT3 | Model_Palm_TT5 |
92 "QPE/Rotation", "flip()",0,0}, 108 Model_Palm_TE | Model_Palm_TE2 | Model_Palm_TC | Model_Palm_LD |
109 Model_Palm_TX | Model_Palm_Z71 | Model_Palm_Z72 | Model_Palm_T600 |
110 Model_Palm_T650 | Model_Palm_T680 | Model_Palm_T700W |
111 Model_Palm_T700P | Model_Palm_T750 | Model_Palm_T755P,
112 Qt::Key_F8, QT_TRANSLATE_NOOP( "Button", "Suspend Button" ),
113 "devicebuttons/palm_suspend",
114 "suspend", "raise()",
115 "suspend", "raise()" },
93}; 116};
94 117
95void Palm::init(const QString& cpu_info) 118void Palm::init(const QString& cpu_info)
@@ -105,7 +128,35 @@ void Palm::init(const QString& cpu_info)
105 else 128 else
106 model = cpu_info; 129 model = cpu_info;
107 130
108 if ( model == "Palm LifeDrive" ) { 131 if ( model == "Palm Tungsten T" ) {
132 d->m_modelstr = "Palm Tungsten|T";
133 d->m_model = Model_Palm_TT;
134 }
135 else if ( model == "Palm Tungsten T2" ) {
136 d->m_modelstr = "Palm Tungsten|T2";
137 d->m_model = Model_Palm_TT2;
138 }
139 else if ( model == "Palm Tungsten T3" ) {
140 d->m_modelstr = "Palm Tungsten|T3";
141 d->m_model = Model_Palm_TT3;
142 }
143 else if ( model == "Palm Tungsten T5" ) {
144 d->m_modelstr = "Palm Tungsten|T5";
145 d->m_model = Model_Palm_TT5;
146 }
147 else if ( model == "Palm Tungsten C" ) {
148 d->m_modelstr = "Palm Tungsten|C";
149 d->m_model = Model_Palm_TC;
150 }
151 else if ( model == "Palm Tungsten E" ) {
152 d->m_modelstr = "Palm Tungsten|E";
153 d->m_model = Model_Palm_TE;
154 }
155 else if ( model == "Palm Tungsten E2" ) {
156 d->m_modelstr = "Palm Tungsten|E2";
157 d->m_model = Model_Palm_TE2;
158 }
159 else if ( model == "Palm LifeDrive" ) {
109 d->m_modelstr = "Palm LifeDrive"; 160 d->m_modelstr = "Palm LifeDrive";
110 d->m_model = Model_Palm_LD; 161 d->m_model = Model_Palm_LD;
111 } 162 }
@@ -113,23 +164,79 @@ void Palm::init(const QString& cpu_info)
113 d->m_modelstr = "Palm TX"; 164 d->m_modelstr = "Palm TX";
114 d->m_model = Model_Palm_TX; 165 d->m_model = Model_Palm_TX;
115 } 166 }
167 else if ( model == "Palm Zire 71" ) {
168 d->m_modelstr = "Palm Zire 71";
169 d->m_model = Model_Palm_Z71;
170 }
116 else if ( model == "Palm Zire 72" ) { 171 else if ( model == "Palm Zire 72" ) {
117 d->m_modelstr = "Palm Zire 72"; 172 d->m_modelstr = "Palm Zire 72";
118 d->m_model = Model_Palm_Z72; 173 d->m_model = Model_Palm_Z72;
119 } 174 }
175 else if ( model == "Palm Treo 600" ) {
176 d->m_modelstr = "Palm Treo 600";
177 d->m_model = Model_Palm_T600;
178 }
179 else if ( model == "Palm Treo 650" ) {
180 d->m_modelstr = "Palm Treo 650";
181 d->m_model = Model_Palm_T650;
182 }
183 else if ( model == "Palm Treo 680" ) {
184 d->m_modelstr = "Palm Treo 680";
185 d->m_model = Model_Palm_T680;
186 }
187 else if ( model == "Palm Treo 700w" ) {
188 d->m_modelstr = "Palm Treo 700w/700wx";
189 d->m_model = Model_Palm_T700W;
190 }
191 else if ( model == "Palm Treo 700p" ) {
192 d->m_modelstr = "Palm Treo 700p";
193 d->m_model = Model_Palm_T700P;
194 }
195 else if ( model == "Palm Treo 750" ) {
196 d->m_modelstr = "Palm Treo 750";
197 d->m_model = Model_Palm_T750;
198 }
199 else if ( model == "Palm Treo 755p" ) {
200 d->m_modelstr= "Palm Treo 755";
201 d->m_model= Model_Palm_T755P;
202 }
203 else if ( model == "Palm Foleo" ) {
204 d->m_modelstr= "Palm Foleo";
205 d->m_model= Model_Palm_FOLEO;
206 }
120 else 207 else
121 d->m_model = Model_Unknown; 208 d->m_model = Model_Unknown;
122 209
123 switch ( d->m_model ) 210 switch ( d->m_model )
124 { 211 {
212 case Model_Palm_TT3:
213 case Model_Palm_TT5:
214 case Model_Palm_TC:
125 case Model_Palm_LD: 215 case Model_Palm_LD:
126 case Model_Palm_TX: 216 case Model_Palm_TX:
217 case Model_Palm_TE2:
127 case Model_Palm_Z72: 218 case Model_Palm_Z72:
128 m_backlightdev = "/sys/class/backlight/pxapwm-bl/"; 219 m_backlightdev = "/sys/class/backlight/pxapwm-bl/";
129 d->m_rotation = Rot0; 220 d->m_rotation = Rot0;
130 d->m_direction = CCW; 221 d->m_direction = CCW;
131 d->m_qteDriver = "Transformed"; 222 d->m_qteDriver = "Transformed";
132 break; 223 break;
224 case Model_Palm_T600:
225 case Model_Palm_TT:
226 case Model_Palm_TT2:
227 case Model_Palm_TE:
228 case Model_Palm_Z71:
229 m_backlightdev = "/sys/class/backlight/omap-bl/";
230 break;
231 case Model_Palm_T650:
232 case Model_Palm_T680:
233 case Model_Palm_T700W:
234 case Model_Palm_T700P:
235 case Model_Palm_T750:
236 case Model_Palm_T755P:
237 m_backlightdev = "/sys/class/backlight/corgi-bl/";
238 break;
239
133 default: 240 default:
134 m_backlightdev = ""; 241 m_backlightdev = "";
135 } 242 }
@@ -207,8 +314,24 @@ bool Palm::suspend()
207 return false; 314 return false;
208 315
209 switch ( d->m_model ) { 316 switch ( d->m_model ) {
317 case Model_Palm_TT:
318 case Model_Palm_TT2:
319 case Model_Palm_TT3:
320 case Model_Palm_TT5:
321 case Model_Palm_TE:
322 case Model_Palm_TE2:
323 case Model_Palm_TC:
210 case Model_Palm_LD: 324 case Model_Palm_LD:
325 case Model_Palm_TX:
326 case Model_Palm_Z71:
211 case Model_Palm_Z72: 327 case Model_Palm_Z72:
328 case Model_Palm_T600:
329 case Model_Palm_T650:
330 case Model_Palm_T680:
331 case Model_Palm_T700W:
332 case Model_Palm_T700P:
333 case Model_Palm_T750:
334 case Model_Palm_T755P:
212 { 335 {
213 QCopChannel::send( "QPE/System", "aboutToSuspend()" ); 336 QCopChannel::send( "QPE/System", "aboutToSuspend()" );
214 337
@@ -233,9 +356,24 @@ int Palm::displayBrightnessResolution() const
233 356
234 switch ( d->m_model ) 357 switch ( d->m_model )
235 { 358 {
359 case Model_Palm_TT:
360 case Model_Palm_TT2:
361 case Model_Palm_TT3:
362 case Model_Palm_TT5:
363 case Model_Palm_TE:
364 case Model_Palm_TE2:
365 case Model_Palm_TC:
236 case Model_Palm_LD: 366 case Model_Palm_LD:
237 case Model_Palm_TX: 367 case Model_Palm_TX:
368 case Model_Palm_Z71:
238 case Model_Palm_Z72: 369 case Model_Palm_Z72:
370 case Model_Palm_T600:
371 case Model_Palm_T650:
372 case Model_Palm_T680:
373 case Model_Palm_T700W:
374 case Model_Palm_T700P:
375 case Model_Palm_T750:
376 case Model_Palm_T755P:
239 fd = ::open( m_backlightdev + "max_brightness", O_RDONLY|O_NONBLOCK ); 377 fd = ::open( m_backlightdev + "max_brightness", O_RDONLY|O_NONBLOCK );
240 if ( fd != -1) 378 if ( fd != -1)
241 { 379 {
@@ -267,10 +405,24 @@ bool Palm::setDisplayBrightness( int bright )
267 405
268 switch ( d->m_model ) 406 switch ( d->m_model )
269 { 407 {
270 408 case Model_Palm_TT:
409 case Model_Palm_TT2:
410 case Model_Palm_TT3:
411 case Model_Palm_TT5:
412 case Model_Palm_TE:
413 case Model_Palm_TE2:
414 case Model_Palm_TC:
271 case Model_Palm_LD: 415 case Model_Palm_LD:
272 case Model_Palm_TX: 416 case Model_Palm_TX:
417 case Model_Palm_Z71:
273 case Model_Palm_Z72: 418 case Model_Palm_Z72:
419 case Model_Palm_T600:
420 case Model_Palm_T650:
421 case Model_Palm_T680:
422 case Model_Palm_T700W:
423 case Model_Palm_T700P:
424 case Model_Palm_T750:
425 case Model_Palm_T755P:
274 fd = ::open( m_backlightdev + "brightness", O_WRONLY|O_NONBLOCK ); 426 fd = ::open( m_backlightdev + "brightness", O_WRONLY|O_NONBLOCK );
275 if ( fd != -1 ) 427 if ( fd != -1 )
276 { 428 {