Diffstat (limited to 'libopie2/opiecore/device/odevice_ipaq.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | libopie2/opiecore/device/odevice_ipaq.cpp | 53 |
1 files changed, 28 insertions, 25 deletions
diff --git a/libopie2/opiecore/device/odevice_ipaq.cpp b/libopie2/opiecore/device/odevice_ipaq.cpp index 16c0538..791e409 100644 --- a/libopie2/opiecore/device/odevice_ipaq.cpp +++ b/libopie2/opiecore/device/odevice_ipaq.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 | 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 | */ |
@@ -39,8 +39,9 @@ | |||
39 | #include <qpe/config.h> | 39 | #include <qpe/config.h> |
40 | #include <qpe/resource.h> | 40 | #include <qpe/resource.h> |
41 | #include <qpe/sound.h> | 41 | #include <qpe/sound.h> |
42 | #include <qpe/qcopenvelope_qws.h> | 42 | #include <qpe/qcopenvelope_qws.h> |
43 | #include <opie2/okeyfilter.h> | ||
43 | 44 | ||
44 | /* STD */ | 45 | /* STD */ |
45 | #include <fcntl.h> | 46 | #include <fcntl.h> |
46 | #include <math.h> | 47 | #include <math.h> |
@@ -166,10 +167,12 @@ void iPAQ::initButtons() | |||
166 | { | 167 | { |
167 | if ( d->m_buttons ) | 168 | if ( d->m_buttons ) |
168 | return; | 169 | return; |
169 | 170 | ||
170 | if ( isQWS( ) ) | 171 | if ( isQWS( ) ) { |
171 | QWSServer::setKeyboardFilter ( this ); | 172 | Opie::Core::OKeyFilter::inst()->addPreHandler(this); |
173 | //QWSServer::setKeyboardFilter ( this ); | ||
174 | } | ||
172 | 175 | ||
173 | d->m_buttons = new QValueList <ODeviceButton>; | 176 | d->m_buttons = new QValueList <ODeviceButton>; |
174 | 177 | ||
175 | for ( uint i = 0; i < ( sizeof( ipaq_buttons ) / sizeof( i_button )); i++ ) { | 178 | for ( uint i = 0; i < ( sizeof( ipaq_buttons ) / sizeof( i_button )); i++ ) { |
@@ -270,18 +273,18 @@ bool iPAQ::filter ( int /*unicode*/, int keycode, int modifiers, bool isPress, b | |||
270 | } | 273 | } |
271 | break; | 274 | break; |
272 | } | 275 | } |
273 | 276 | ||
274 | // Rotate cursor keys 180° or 270° | 277 | // Rotate cursor keys 180 or 270 |
275 | case Key_Left : | 278 | case Key_Left : |
276 | case Key_Right: | 279 | case Key_Right: |
277 | case Key_Up : | 280 | case Key_Up : |
278 | case Key_Down : { | 281 | case Key_Down : { |
279 | if (( d->m_model == Model_iPAQ_H31xx ) || | 282 | if (( d->m_model == Model_iPAQ_H31xx ) || |
280 | ( d->m_model == Model_iPAQ_H38xx )) { | 283 | ( d->m_model == Model_iPAQ_H38xx )) { |
281 | newkeycode = Key_Left + ( keycode - Key_Left + 2 ) % 4; | 284 | newkeycode = Key_Left + ( keycode - Key_Left + 2 ) % 4; |
282 | } | 285 | } |
283 | // Rotate the cursor keys by 270° | 286 | // Rotate the cursor keys by 270 |
284 | // keycode - Key_Left = position of the button starting from left clockwise | 287 | // keycode - Key_Left = position of the button starting from left clockwise |
285 | // add the rotation to it and modolo. No we've the original offset | 288 | // add the rotation to it and modolo. No we've the original offset |
286 | // add the offset to the Key_Left key | 289 | // add the offset to the Key_Left key |
287 | if ( d-> m_model == Model_iPAQ_H5xxx ) | 290 | if ( d-> m_model == Model_iPAQ_H5xxx ) |