summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opiecore/device/odevice.cpp57
-rw-r--r--libopie2/opiecore/device/odevice.h49
-rw-r--r--libopie2/opiecore/device/odevice_ipaq.cpp3
-rw-r--r--libopie2/opiecore/device/odevice_simpad.cpp3
-rw-r--r--libopie2/opiecore/okeyfilter.h7
5 files changed, 63 insertions, 56 deletions
diff --git a/libopie2/opiecore/device/odevice.cpp b/libopie2/opiecore/device/odevice.cpp
index 0068d88..cd3a84c 100644
--- a/libopie2/opiecore/device/odevice.cpp
+++ b/libopie2/opiecore/device/odevice.cpp
@@ -1,71 +1,72 @@
1/* 1/*
2                 This file is part of the Opie Project 2 This file is part of the Opie Project
3              Copyright (C) The Opie Team <opie-devel@handhelds.org> 3 Copyright (C) The Opie Team <opie-devel@handhelds.org>
4 =. 4 =.
5 .=l. 5 .=l.
6           .>+-= 6 .>+-=
7 _;:,     .>    :=|. This program is free software; you can 7_;:, .> :=|. This program is free software; you can
8.> <`_,   >  .   <= redistribute it and/or modify it under 8.> <`_, > . <= redistribute it and/or modify it under
9:`=1 )Y*s>-.--   : the terms of the GNU Library General Public 9:`=1 )Y*s>-.-- : the terms of the GNU Library General Public
10.="- .-=="i,     .._ License as published by the Free Software 10.="- .-=="i, .._ License as published by the Free Software
11 - .   .-<_>     .<> Foundation; either version 2 of the License, 11- . .-<_> .<> Foundation; either version 2 of the License,
12     ._= =}       : or (at your option) any later version. 12 ._= =} : or (at your option) any later version.
13    .%`+i>       _;_. 13 .%`+i> _;_.
14    .i_,=:_.      -<s. This program is distributed in the hope that 14 .i_,=:_. -<s. This program is distributed in the hope that
15     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY; 15 + . -:. = it will be useful, but WITHOUT ANY WARRANTY;
16    : ..    .:,     . . . without even the implied warranty of 16 : .. .:, . . . without even the implied warranty of
17    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A 17 =_ + =;=|` MERCHANTABILITY or FITNESS FOR A
18  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU 18 _.=:. : :=>`: PARTICULAR PURPOSE. See the GNU
19..}^=.=       =       ; Library General Public License for more 19..}^=.= = ; Library General Public License for more
20++=   -.     .`     .: details. 20++= -. .` .: details.
21 :     =  ...= . :.=- 21: = ...= . :.=-
22 -.   .:....=;==+<; You should have received a copy of the GNU 22-. .:....=;==+<; You should have received a copy of the GNU
23  -_. . .   )=.  = Library General Public License along with 23 -_. . . )=. = Library General Public License along with
24    --        :-=` this library; see the file COPYING.LIB. 24 -- :-=` this library; see the file COPYING.LIB.
25 If not, write to the Free Software Foundation, 25 If not, write to the Free Software Foundation,
26 Inc., 59 Temple Place - Suite 330, 26 Inc., 59 Temple Place - Suite 330,
27 Boston, MA 02111-1307, USA. 27 Boston, MA 02111-1307, USA.
28*/ 28*/
29 29
30#include "odevice_ipaq.h" 30#include "odevice_ipaq.h"
31#include "odevice_jornada.h" 31#include "odevice_jornada.h"
32#include "odevice_ramses.h" 32#include "odevice_ramses.h"
33#include "odevice_simpad.h" 33#include "odevice_simpad.h"
34#include "odevice_yopy.h" 34#include "odevice_yopy.h"
35#include "odevice_zaurus.h" 35#include "odevice_zaurus.h"
36 36
37/* QT */ 37/* QT */
38#include <qapplication.h> 38#include <qapplication.h>
39#include <qfile.h> 39#include <qfile.h>
40#include <qtextstream.h> 40#include <qtextstream.h>
41#include <qwindowsystem_qws.h> 41#include <qwindowsystem_qws.h>
42 42
43/* OPIE */ 43/* OPIE */
44#include <qpe/config.h> 44#include <qpe/config.h>
45#include <qpe/resource.h> 45#include <qpe/resource.h>
46#include <qpe/sound.h> 46#include <qpe/sound.h>
47#include <qpe/qcopenvelope_qws.h> 47#include <qpe/qcopenvelope_qws.h>
48#include <opie2/okeyfilter.h>
48 49
49/* STD */ 50/* STD */
50#include <fcntl.h> 51#include <fcntl.h>
51#include <math.h> 52#include <math.h>
52#include <stdlib.h> 53#include <stdlib.h>
53#include <signal.h> 54#include <signal.h>
54#include <sys/ioctl.h> 55#include <sys/ioctl.h>
55#include <sys/time.h> 56#include <sys/time.h>
56#include <unistd.h> 57#include <unistd.h>
57#ifndef QT_NO_SOUND 58#ifndef QT_NO_SOUND
58#include <linux/soundcard.h> 59#include <linux/soundcard.h>
59#endif 60#endif
60 61
61namespace Opie { 62namespace Opie {
62namespace Core { 63namespace Core {
63 64
64static const char* PATH_PROC_CPUINFO = "/proc/cpuinfo"; 65static const char* PATH_PROC_CPUINFO = "/proc/cpuinfo";
65 66
66 67
67/* STATIC and common implementation */ 68/* STATIC and common implementation */
68/* EXPORT */ ODistribution distributions[] = { 69/* EXPORT */ ODistribution distributions[] = {
69 { System_Familiar, "FamiliarLinux", "/etc/familiar-version" }, 70 { System_Familiar, "FamiliarLinux", "/etc/familiar-version" },
70 { System_OpenZaurus, "OpenZaurus", "/etc/oz_version" }, 71 { System_OpenZaurus, "OpenZaurus", "/etc/oz_version" },
71 { System_OpenEmbedded, "OpenEmbedded", "/etc/oe-version" }, 72 { System_OpenEmbedded, "OpenEmbedded", "/etc/oe-version" },
@@ -655,63 +656,73 @@ void ODevice::reloadButtonMapping()
655 656
656 b. setHeldAction ( OQCopMessage ( hch, hm, hdata )); 657 b. setHeldAction ( OQCopMessage ( hch, hm, hdata ));
657 } 658 }
658} 659}
659 660
660void ODevice::remapPressedAction ( int button, const OQCopMessage &action ) 661void ODevice::remapPressedAction ( int button, const OQCopMessage &action )
661{ 662{
662 initButtons(); 663 initButtons();
663 664
664 QString mb_chan; 665 QString mb_chan;
665 666
666 if ( button >= (int) d->m_buttons->count()) 667 if ( button >= (int) d->m_buttons->count())
667 return; 668 return;
668 669
669 ODeviceButton &b = ( *d->m_buttons ) [button]; 670 ODeviceButton &b = ( *d->m_buttons ) [button];
670 b. setPressedAction ( action ); 671 b. setPressedAction ( action );
671 672
672 mb_chan=b. pressedAction(). channel(); 673 mb_chan=b. pressedAction(). channel();
673 674
674 Config buttonFile ( "ButtonSettings" ); 675 Config buttonFile ( "ButtonSettings" );
675 buttonFile. setGroup ( "Button" + QString::number ( button )); 676 buttonFile. setGroup ( "Button" + QString::number ( button ));
676 buttonFile. writeEntry ( "PressedActionChannel", (const char*) mb_chan); 677 buttonFile. writeEntry ( "PressedActionChannel", (const char*) mb_chan);
677 buttonFile. writeEntry ( "PressedActionMessage", (const char*) b. pressedAction(). message()); 678 buttonFile. writeEntry ( "PressedActionMessage", (const char*) b. pressedAction(). message());
678 679
679 //buttonFile. writeEntry ( "PressedActionArgs", encodeBase64 ( b. pressedAction(). data())); 680// buttonFile. writeEntry ( "PressedActionArgs", encodeBase64 ( b. pressedAction(). data()));
680 681
681 QCopEnvelope ( "QPE/System", "deviceButtonMappingChanged()" ); 682 QCopEnvelope ( "QPE/System", "deviceButtonMappingChanged()" );
682} 683}
683 684
684void ODevice::remapHeldAction ( int button, const OQCopMessage &action ) 685void ODevice::remapHeldAction ( int button, const OQCopMessage &action )
685{ 686{
686 initButtons(); 687 initButtons();
687 688
688 if ( button >= (int) d->m_buttons->count()) 689 if ( button >= (int) d->m_buttons->count())
689 return; 690 return;
690 691
691 ODeviceButton &b = ( *d->m_buttons ) [button]; 692 ODeviceButton &b = ( *d->m_buttons ) [button];
692 b. setHeldAction ( action ); 693 b. setHeldAction ( action );
693 694
694 Config buttonFile ( "ButtonSettings" ); 695 Config buttonFile ( "ButtonSettings" );
695 buttonFile. setGroup ( "Button" + QString::number ( button )); 696 buttonFile. setGroup ( "Button" + QString::number ( button ));
696 buttonFile. writeEntry ( "HeldActionChannel", (const char *) b. heldAction(). channel()); 697 buttonFile. writeEntry ( "HeldActionChannel", (const char *) b. heldAction(). channel());
697 buttonFile. writeEntry ( "HeldActionMessage", (const char *) b. heldAction(). message()); 698 buttonFile. writeEntry ( "HeldActionMessage", (const char *) b. heldAction(). message());
698 699
699 //buttonFile. writeEntry ( "HeldActionArgs", decodeBase64 ( b. heldAction(). data())); 700// buttonFile. writeEntry ( "HeldActionArgs", decodeBase64 ( b. heldAction(). data()));
700 701
701 QCopEnvelope ( "QPE/System", "deviceButtonMappingChanged()" ); 702 QCopEnvelope ( "QPE/System", "deviceButtonMappingChanged()" );
702} 703}
703void ODevice::virtual_hook(int, void* ){ 704void ODevice::virtual_hook(int, void* ){
704 705
705} 706}
706 707
707void ODevice::sendSuspendmsg() 708void ODevice::sendSuspendmsg()
708{ 709{
709 if ( isQWS() ) 710 if ( isQWS() )
710 return; 711 return;
711 712
712 QCopEnvelope ( "QPE/System", "aboutToSuspend()" ); 713 QCopEnvelope ( "QPE/System", "aboutToSuspend()" );
713} 714}
714 715
716void ODevice::addPreHandler(QWSServer::KeyboardFilter*aFilter)
717{
718 Opie::Core::OKeyFilter::inst()->addPreHandler(aFilter);
719}
720
721void ODevice::remPreHandler(QWSServer::KeyboardFilter*aFilter)
722{
723 Opie::Core::OKeyFilter::inst()->remPreHandler(aFilter);
724}
725
715 726
716} 727}
717} 728}
diff --git a/libopie2/opiecore/device/odevice.h b/libopie2/opiecore/device/odevice.h
index 0465d7e..762d3f1 100644
--- a/libopie2/opiecore/device/odevice.h
+++ b/libopie2/opiecore/device/odevice.h
@@ -1,65 +1,66 @@
1/* 1/*
2                 This file is part of the Opie Project 2 This file is part of the Opie Project
3              Copyright (C) The Opie Team <opie-devel@handhelds.org> 3 Copyright (C) The Opie Team <opie-devel@handhelds.org>
4 =. 4 =.
5 .=l. 5 .=l.
6           .>+-= 6 .>+-=
7 _;:,     .>    :=|. This program is free software; you can 7_;:, .> :=|. This program is free software; you can
8.> <`_,   >  .   <= redistribute it and/or modify it under 8.> <`_, > . <= redistribute it and/or modify it under
9:`=1 )Y*s>-.--   : the terms of the GNU Library General Public 9:`=1 )Y*s>-.-- : the terms of the GNU Library General Public
10.="- .-=="i,     .._ License as published by the Free Software 10.="- .-=="i, .._ License as published by the Free Software
11 - .   .-<_>     .<> Foundation; either version 2 of the License, 11- . .-<_> .<> Foundation; either version 2 of the License,
12     ._= =}       : or (at your option) any later version. 12 ._= =} : or (at your option) any later version.
13    .%`+i>       _;_. 13 .%`+i> _;_.
14    .i_,=:_.      -<s. This program is distributed in the hope that 14 .i_,=:_. -<s. This program is distributed in the hope that
15     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY; 15 + . -:. = it will be useful, but WITHOUT ANY WARRANTY;
16    : ..    .:,     . . . without even the implied warranty of 16 : .. .:, . . . without even the implied warranty of
17    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A 17 =_ + =;=|` MERCHANTABILITY or FITNESS FOR A
18  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU 18 _.=:. : :=>`: PARTICULAR PURPOSE. See the GNU
19..}^=.=       =       ; Library General Public License for more 19..}^=.= = ; Library General Public License for more
20++=   -.     .`     .: details. 20++= -. .` .: details.
21 :     =  ...= . :.=- 21: = ...= . :.=-
22 -.   .:....=;==+<; You should have received a copy of the GNU 22-. .:....=;==+<; You should have received a copy of the GNU
23  -_. . .   )=.  = Library General Public License along with 23 -_. . . )=. = Library General Public License along with
24    --        :-=` this library; see the file COPYING.LIB. 24 -- :-=` this library; see the file COPYING.LIB.
25 If not, write to the Free Software Foundation, 25 If not, write to the Free Software Foundation,
26 Inc., 59 Temple Place - Suite 330, 26 Inc., 59 Temple Place - Suite 330,
27 Boston, MA 02111-1307, USA. 27 Boston, MA 02111-1307, USA.
28*/ 28*/
29 29
30#ifndef ODEVICE_H_ 30#ifndef ODEVICE_H_
31#define ODEVICE_H_ 31#define ODEVICE_H_
32 32
33/* OPIE */ 33/* OPIE */
34#include <opie2/odevicebutton.h> 34#include <opie2/odevicebutton.h>
35#include <qpe/qpeapplication.h> /* for Transformation enum.. */ 35#include <qpe/qpeapplication.h> /* for Transformation enum.. */
36 36
37/* QT */ 37/* QT */
38#include <qnamespace.h> 38#include <qnamespace.h>
39#include <qobject.h> 39#include <qobject.h>
40#include <qstring.h> 40#include <qstring.h>
41#include <qstrlist.h> 41#include <qstrlist.h>
42#include <qwindowsystem_qws.h>
42 43
43namespace Opie{ 44namespace Opie{
44namespace Core{ 45namespace Core{
45 46
46 class ODeviceData; 47 class ODeviceData;
47/** 48/**
48 * The available devices 49 * The available devices
49 */ 50 */
50enum OModel { 51enum OModel {
51 Model_Unknown, // = 0 52 Model_Unknown, // = 0
52 53
53 Model_Series_Mask = 0xff000000, 54 Model_Series_Mask = 0xff000000,
54 55
55 Model_iPAQ = ( 1 << 24 ), 56 Model_iPAQ = ( 1 << 24 ),
56 57
57 Model_iPAQ_All = ( Model_iPAQ | 0xffffff ), 58 Model_iPAQ_All = ( Model_iPAQ | 0xffffff ),
58 Model_iPAQ_H31xx = ( Model_iPAQ | 0x000001 ), 59 Model_iPAQ_H31xx = ( Model_iPAQ | 0x000001 ),
59 Model_iPAQ_H36xx = ( Model_iPAQ | 0x000002 ), 60 Model_iPAQ_H36xx = ( Model_iPAQ | 0x000002 ),
60 Model_iPAQ_H37xx = ( Model_iPAQ | 0x000004 ), 61 Model_iPAQ_H37xx = ( Model_iPAQ | 0x000004 ),
61 Model_iPAQ_H38xx = ( Model_iPAQ | 0x000008 ), 62 Model_iPAQ_H38xx = ( Model_iPAQ | 0x000008 ),
62 Model_iPAQ_H39xx = ( Model_iPAQ | 0x000010 ), 63 Model_iPAQ_H39xx = ( Model_iPAQ | 0x000010 ),
63 Model_iPAQ_H5xxx = ( Model_iPAQ | 0x000020 ), 64 Model_iPAQ_H5xxx = ( Model_iPAQ | 0x000020 ),
64 Model_iPAQ_H22xx = ( Model_iPAQ | 0x000040 ), 65 Model_iPAQ_H22xx = ( Model_iPAQ | 0x000040 ),
65 66
@@ -232,51 +233,51 @@ public:
232 233
233 QString vendorString() const; 234 QString vendorString() const;
234 OVendor vendor() const; 235 OVendor vendor() const;
235 236
236 QString systemString() const; 237 QString systemString() const;
237 OSystem system() const; 238 OSystem system() const;
238 239
239 QString systemVersionString() const; 240 QString systemVersionString() const;
240 241
241 virtual Transformation rotation() const; 242 virtual Transformation rotation() const;
242 virtual ODirection direction() const; 243 virtual ODirection direction() const;
243 244
244 // system 245 // system
245 246
246 virtual bool setSoftSuspend ( bool on ); 247 virtual bool setSoftSuspend ( bool on );
247 virtual bool suspend(); 248 virtual bool suspend();
248 249
249 virtual bool setDisplayStatus ( bool on ); 250 virtual bool setDisplayStatus ( bool on );
250 virtual bool setDisplayBrightness ( int brightness ); 251 virtual bool setDisplayBrightness ( int brightness );
251 virtual int displayBrightnessResolution() const; 252 virtual int displayBrightnessResolution() const;
252 virtual bool setDisplayContrast ( int contrast ); 253 virtual bool setDisplayContrast ( int contrast );
253 virtual int displayContrastResolution() const; 254 virtual int displayContrastResolution() const;
254 255
255 // don't add new virtual methods, use this: 256 // don't add new virtual methods, use this:
256 ///*virtual */ void boo(int i ) { return virtual_hook(1,&i); }; 257 // /*virtual */ void boo(int i ) { return virtual_hook(1,&i); };
257 // and in your subclass do do overwrite 258 // and in your subclass do do overwrite
258 //protected virtual int virtual_hook(int, void *) 259 // protected virtual int virtual_hook(int, void *)
259 // which is defined below 260 // which is defined below
260 261
261 // input / output 262 // input / output
262 virtual void playAlarmSound(); 263 virtual void playAlarmSound();
263 virtual void playKeySound(); 264 virtual void playKeySound();
264 virtual void playTouchSound(); 265 virtual void playTouchSound();
265 266
266 virtual QValueList <OLed> ledList() const; 267 virtual QValueList <OLed> ledList() const;
267 virtual QValueList <OLedState> ledStateList ( OLed led ) const; 268 virtual QValueList <OLedState> ledStateList ( OLed led ) const;
268 virtual OLedState ledState ( OLed led ) const; 269 virtual OLedState ledState ( OLed led ) const;
269 virtual bool setLedState ( OLed led, OLedState st ); 270 virtual bool setLedState ( OLed led, OLedState st );
270 271
271 virtual bool hasLightSensor() const; 272 virtual bool hasLightSensor() const;
272 virtual int readLightSensor(); 273 virtual int readLightSensor();
273 virtual int lightSensorResolution() const; 274 virtual int lightSensorResolution() const;
274 275
275 virtual bool hasHingeSensor() const; 276 virtual bool hasHingeSensor() const;
276 virtual OHingeStatus readHingeSensor(); 277 virtual OHingeStatus readHingeSensor();
277 278
278 const QStrList &allowedCpuFrequencies() const; 279 const QStrList &allowedCpuFrequencies() const;
279 bool setCurrentCpuFrequency(uint index); 280 bool setCurrentCpuFrequency(uint index);
280 281
281 /** 282 /**
282 * Returns the available buttons on this device. The number and location 283 * Returns the available buttons on this device. The number and location
@@ -298,48 +299,50 @@ public:
298 /** 299 /**
299 * Reassigns the pressed action for \a button. To return to the factory 300 * Reassigns the pressed action for \a button. To return to the factory
300 * default pass an empty string as \a qcopMessage. 301 * default pass an empty string as \a qcopMessage.
301 */ 302 */
302 void remapPressedAction ( int button, const OQCopMessage &qcopMessage ); 303 void remapPressedAction ( int button, const OQCopMessage &qcopMessage );
303 304
304 /** 305 /**
305 * Reassigns the held action for \a button. To return to the factory 306 * Reassigns the held action for \a button. To return to the factory
306 * default pass an empty string as \a qcopMessage. 307 * default pass an empty string as \a qcopMessage.
307 */ 308 */
308 void remapHeldAction ( int button, const OQCopMessage &qcopMessage ); 309 void remapHeldAction ( int button, const OQCopMessage &qcopMessage );
309 310
310 /** 311 /**
311 * How long (in ms) you have to press a button for a "hold" action 312 * How long (in ms) you have to press a button for a "hold" action
312 */ 313 */
313 uint buttonHoldTime() const; 314 uint buttonHoldTime() const;
314 315
315signals: 316signals:
316 void buttonMappingChanged(); 317 void buttonMappingChanged();
317 318
318private slots: 319private slots:
319 void systemMessage ( const QCString &, const QByteArray & ); 320 void systemMessage ( const QCString &, const QByteArray & );
320 321
321protected: 322protected:
323 void addPreHandler(QWSServer::KeyboardFilter*aFilter);
324 void remPreHandler(QWSServer::KeyboardFilter*aFilter);
322 void reloadButtonMapping(); 325 void reloadButtonMapping();
323 /* ugly virtual hook */ 326 /* ugly virtual hook */
324 virtual void virtual_hook( int id, void* data ); 327 virtual void virtual_hook( int id, void* data );
325}; 328};
326 329
327class ODeviceData { 330class ODeviceData {
328 331
329 public: 332 public:
330 QString m_vendorstr; 333 QString m_vendorstr;
331 OVendor m_vendor; 334 OVendor m_vendor;
332 335
333 QString m_modelstr; 336 QString m_modelstr;
334 OModel m_model; 337 OModel m_model;
335 338
336 QString m_systemstr; 339 QString m_systemstr;
337 OSystem m_system; 340 OSystem m_system;
338 341
339 QString m_sysverstr; 342 QString m_sysverstr;
340 343
341 Transformation m_rotation; 344 Transformation m_rotation;
342 ODirection m_direction; 345 ODirection m_direction;
343 346
344 QValueList <ODeviceButton> *m_buttons; 347 QValueList <ODeviceButton> *m_buttons;
345 uint m_holdtime; 348 uint m_holdtime;
diff --git a/libopie2/opiecore/device/odevice_ipaq.cpp b/libopie2/opiecore/device/odevice_ipaq.cpp
index 791e409..21fed99 100644
--- a/libopie2/opiecore/device/odevice_ipaq.cpp
+++ b/libopie2/opiecore/device/odevice_ipaq.cpp
@@ -148,50 +148,49 @@ void iPAQ::init(const QString& model)
148 case Model_iPAQ_H22xx: 148 case Model_iPAQ_H22xx:
149 d->m_rotation = Rot0; 149 d->m_rotation = Rot0;
150 break; 150 break;
151 case Model_iPAQ_H36xx: 151 case Model_iPAQ_H36xx:
152 case Model_iPAQ_H37xx: 152 case Model_iPAQ_H37xx:
153 case Model_iPAQ_H39xx: 153 case Model_iPAQ_H39xx:
154 default: 154 default:
155 d->m_rotation = Rot270; 155 d->m_rotation = Rot270;
156 break; 156 break;
157 157
158 } 158 }
159 159
160 m_leds [0] = m_leds [1] = Led_Off; 160 m_leds [0] = m_leds [1] = Led_Off;
161 161
162 m_power_timer = 0; 162 m_power_timer = 0;
163 163
164} 164}
165 165
166void iPAQ::initButtons() 166void iPAQ::initButtons()
167{ 167{
168 if ( d->m_buttons ) 168 if ( d->m_buttons )
169 return; 169 return;
170 170
171 if ( isQWS( ) ) { 171 if ( isQWS( ) ) {
172 Opie::Core::OKeyFilter::inst()->addPreHandler(this); 172 addPreHandler(this);
173 //QWSServer::setKeyboardFilter ( this );
174 } 173 }
175 174
176 d->m_buttons = new QValueList <ODeviceButton>; 175 d->m_buttons = new QValueList <ODeviceButton>;
177 176
178 for ( uint i = 0; i < ( sizeof( ipaq_buttons ) / sizeof( i_button )); i++ ) { 177 for ( uint i = 0; i < ( sizeof( ipaq_buttons ) / sizeof( i_button )); i++ ) {
179 i_button *ib = ipaq_buttons + i; 178 i_button *ib = ipaq_buttons + i;
180 ODeviceButton b; 179 ODeviceButton b;
181 180
182 if (( ib->model & d->m_model ) == d->m_model ) { 181 if (( ib->model & d->m_model ) == d->m_model ) {
183 b. setKeycode ( ib->code ); 182 b. setKeycode ( ib->code );
184 b. setUserText ( QObject::tr ( "Button", ib->utext )); 183 b. setUserText ( QObject::tr ( "Button", ib->utext ));
185 b. setPixmap ( Resource::loadPixmap ( ib->pix )); 184 b. setPixmap ( Resource::loadPixmap ( ib->pix ));
186 b. setFactoryPresetPressedAction ( OQCopMessage ( makeChannel ( ib->fpressedservice ), ib->fpressedaction )); 185 b. setFactoryPresetPressedAction ( OQCopMessage ( makeChannel ( ib->fpressedservice ), ib->fpressedaction ));
187 b. setFactoryPresetHeldAction ( OQCopMessage ( makeChannel ( ib->fheldservice ), ib->fheldaction )); 186 b. setFactoryPresetHeldAction ( OQCopMessage ( makeChannel ( ib->fheldservice ), ib->fheldaction ));
188 187
189 d->m_buttons->append ( b ); 188 d->m_buttons->append ( b );
190 } 189 }
191 } 190 }
192 reloadButtonMapping(); 191 reloadButtonMapping();
193 192
194 QCopChannel *sysch = new QCopChannel ( "QPE/System", this ); 193 QCopChannel *sysch = new QCopChannel ( "QPE/System", this );
195 connect ( sysch, SIGNAL( received(const QCString&,const QByteArray&)), this, SLOT( systemMessage(const QCString&,const QByteArray&))); 194 connect ( sysch, SIGNAL( received(const QCString&,const QByteArray&)), this, SLOT( systemMessage(const QCString&,const QByteArray&)));
196} 195}
197 196
diff --git a/libopie2/opiecore/device/odevice_simpad.cpp b/libopie2/opiecore/device/odevice_simpad.cpp
index 6c3253c..bf46e43 100644
--- a/libopie2/opiecore/device/odevice_simpad.cpp
+++ b/libopie2/opiecore/device/odevice_simpad.cpp
@@ -126,50 +126,49 @@ void SIMpad::init(const QString&)
126 d->m_model = Model_SIMpad_SL4; 126 d->m_model = Model_SIMpad_SL4;
127 127
128 switch ( d->m_model ) { 128 switch ( d->m_model ) {
129 default: 129 default:
130 d->m_rotation = Rot0; 130 d->m_rotation = Rot0;
131 d->m_direction = CCW; 131 d->m_direction = CCW;
132 d->m_holdtime = 1000; // 1000ms 132 d->m_holdtime = 1000; // 1000ms
133 133
134 break; 134 break;
135 } 135 }
136 136
137 //Distribution detecting code is now in base class 137 //Distribution detecting code is now in base class
138 m_leds [0] = m_leds [1] = Led_Off; 138 m_leds [0] = m_leds [1] = Led_Off;
139 139
140 m_power_timer = 0; 140 m_power_timer = 0;
141 141
142} 142}
143 143
144void SIMpad::initButtons() 144void SIMpad::initButtons()
145{ 145{
146 if ( d->m_buttons ) 146 if ( d->m_buttons )
147 return; 147 return;
148 148
149 if ( isQWS( ) ) { 149 if ( isQWS( ) ) {
150 Opie::Core::OKeyFilter::inst()->addPreHandler(this); 150 addPreHandler(this);
151// QWSServer::setKeyboardFilter ( this );
152 } 151 }
153 152
154 153
155 d->m_buttons = new QValueList <ODeviceButton>; 154 d->m_buttons = new QValueList <ODeviceButton>;
156 155
157 for ( uint i = 0; i < ( sizeof( simpad_buttons ) / sizeof( s_button )); i++ ) { 156 for ( uint i = 0; i < ( sizeof( simpad_buttons ) / sizeof( s_button )); i++ ) {
158 s_button *sb = simpad_buttons + i; 157 s_button *sb = simpad_buttons + i;
159 ODeviceButton b; 158 ODeviceButton b;
160 159
161 if (( sb->model & d->m_model ) == d->m_model ) { 160 if (( sb->model & d->m_model ) == d->m_model ) {
162 b. setKeycode ( sb->code ); 161 b. setKeycode ( sb->code );
163 b. setUserText ( QObject::tr ( "Button", sb->utext )); 162 b. setUserText ( QObject::tr ( "Button", sb->utext ));
164 b. setPixmap ( Resource::loadPixmap ( sb->pix )); 163 b. setPixmap ( Resource::loadPixmap ( sb->pix ));
165 b. setFactoryPresetPressedAction ( OQCopMessage ( makeChannel ( sb->fpressedservice ), sb->fpressedaction )); 164 b. setFactoryPresetPressedAction ( OQCopMessage ( makeChannel ( sb->fpressedservice ), sb->fpressedaction ));
166 b. setFactoryPresetHeldAction ( OQCopMessage ( makeChannel ( sb->fheldservice ), sb->fheldaction )); 165 b. setFactoryPresetHeldAction ( OQCopMessage ( makeChannel ( sb->fheldservice ), sb->fheldaction ));
167 166
168 d->m_buttons->append ( b ); 167 d->m_buttons->append ( b );
169 } 168 }
170 } 169 }
171 reloadButtonMapping(); 170 reloadButtonMapping();
172 171
173 QCopChannel *sysch = new QCopChannel ( "QPE/System", this ); 172 QCopChannel *sysch = new QCopChannel ( "QPE/System", this );
174 connect ( sysch, SIGNAL( received(const QCString&,const QByteArray&)), this, SLOT( systemMessage(const QCString&,const QByteArray&))); 173 connect ( sysch, SIGNAL( received(const QCString&,const QByteArray&)), this, SLOT( systemMessage(const QCString&,const QByteArray&)));
175} 174}
diff --git a/libopie2/opiecore/okeyfilter.h b/libopie2/opiecore/okeyfilter.h
index a65bc48..d183641 100644
--- a/libopie2/opiecore/okeyfilter.h
+++ b/libopie2/opiecore/okeyfilter.h
@@ -12,67 +12,62 @@ _;:, .> :=|. This program is free software; you can
12 .%`+i> _;_. 12 .%`+i> _;_.
13 .i_,=:_. -<s. This program is distributed in the hope that 13 .i_,=:_. -<s. This program is distributed in the hope that
14 + . -:. = it will be useful, but WITHOUT ANY WARRANTY; 14 + . -:. = it will be useful, but WITHOUT ANY WARRANTY;
15 : .. .:, . . . without even the implied warranty of 15 : .. .:, . . . without even the implied warranty of
16 =_ + =;=|` MERCHANTABILITY or FITNESS FOR A 16 =_ + =;=|` MERCHANTABILITY or FITNESS FOR A
17 _.=:. : :=>`: PARTICULAR PURPOSE. See the GNU 17 _.=:. : :=>`: PARTICULAR PURPOSE. See the GNU
18..}^=.= = ; Library General Public License for more 18..}^=.= = ; Library General Public License for more
19++= -. .` .: details. 19++= -. .` .: details.
20: = ...= . :.=- 20: = ...= . :.=-
21-. .:....=;==+<; You should have received a copy of the GNU 21-. .:....=;==+<; You should have received a copy of the GNU
22 -_. . . )=. = Library General Public License along with 22 -_. . . )=. = Library General Public License along with
23 -- :-=` this library; see the file COPYING.LIB. 23 -- :-=` this library; see the file COPYING.LIB.
24 If not, write to the Free Software Foundation, 24 If not, write to the Free Software Foundation,
25 Inc., 59 Temple Place - Suite 330, 25 Inc., 59 Temple Place - Suite 330,
26 Boston, MA 02111-1307, USA. 26 Boston, MA 02111-1307, USA.
27*/ 27*/
28 28
29/* QT */ 29/* QT */
30#include <qwindowsystem_qws.h> 30#include <qwindowsystem_qws.h>
31#include <qvaluelist.h> 31#include <qvaluelist.h>
32 32
33namespace Opie { 33namespace Opie {
34namespace Core { 34namespace Core {
35 class ODevice; 35 class ODevice;
36namespace Internal { 36
37 class iPAQ;
38 class SIMpad;
39}
40 37
41/** 38/**
42 * A singleton which will manage all possible keyboard filters inside opie. 39 * A singleton which will manage all possible keyboard filters inside opie.
43 * It makes sure that key handlers of odevice are checked first than the 40 * It makes sure that key handlers of odevice are checked first than the
44 * keyfilters of software. 41 * keyfilters of software.
45 * @short a keyfilter proxy 42 * @short a keyfilter proxy
46 * @see QWSServer::KeyboardFilter 43 * @see QWSServer::KeyboardFilter
47 * @author Rajko Albrecht 44 * @author Rajko Albrecht
48 * @version 1.0 45 * @version 1.0
49 */ 46 */
50class OKeyFilter 47class OKeyFilter
51{ 48{
52 friend class Opie::Core::ODevice; 49 friend class Opie::Core::ODevice;
53 friend class Opie::Core::Internal::iPAQ;
54 friend class Opie::Core::Internal::SIMpad;
55 50
56protected: 51protected:
57 /** 52 /**
58 * Protected constructor - generate class via inst() 53 * Protected constructor - generate class via inst()
59 * @see inst() 54 * @see inst()
60 */ 55 */
61 OKeyFilter(); 56 OKeyFilter();
62 /** 57 /**
63 * Protected constructor - generate class via inst() 58 * Protected constructor - generate class via inst()
64 * @see inst() 59 * @see inst()
65 */ 60 */
66 OKeyFilter(const OKeyFilter&){}; 61 OKeyFilter(const OKeyFilter&){};
67 /** 62 /**
68 * Append filter to the primary list. 63 * Append filter to the primary list.
69 * This is only allowed for friend classes from odevice 64 * This is only allowed for friend classes from odevice
70 * @param aFilter a filter to append 65 * @param aFilter a filter to append
71 * @see addHandler 66 * @see addHandler
72 */ 67 */
73 virtual void addPreHandler(QWSServer::KeyboardFilter*aFilter)=0; 68 virtual void addPreHandler(QWSServer::KeyboardFilter*aFilter)=0;
74 /** 69 /**
75 * Remove the specified filter from list and give back ownership. 70 * Remove the specified filter from list and give back ownership.
76 * This is only allowed for friend classes from odevice 71 * This is only allowed for friend classes from odevice
77 * @param aFilter a filter to remove 72 * @param aFilter a filter to remove
78 * @see remHandler 73 * @see remHandler