summaryrefslogtreecommitdiff
authorerik <erik>2007-02-09 17:47:29 (UTC)
committer erik <erik>2007-02-09 17:47:29 (UTC)
commitb3cde0d17f52f996c04a55de90583ca60a7e0210 (patch) (side-by-side diff)
treed088372023f1031c9ae7a37e66c42c6d8c4e3d25
parent98353ac16bb90ee4b5df18945acf4fa7f05f9a85 (diff)
downloadopie-b3cde0d17f52f996c04a55de90583ca60a7e0210.zip
opie-b3cde0d17f52f996c04a55de90583ca60a7e0210.tar.gz
opie-b3cde0d17f52f996c04a55de90583ca60a7e0210.tar.bz2
This commit makes all supported models bit unique from each other within
their respective families. It also makes the model families bit unique with each other. This patch makes button (and general device features) not overlap. This fixes Opie bug 1836. Thanks goes out to Paul E. (aka BlueLightning) for originally reporting this problem and providing the text for a reasonable near-term solution. On top of all that, Paul even test the patch that this commit is based on, confirming that it was a reasonable solution. For those of you out there who support distros for the other model families, please be careful. And note that we have not tested on any of model family but iPAQs. We don't anticipate any problems, but be careful out there.
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opiecore/device/odevice.h65
1 files changed, 35 insertions, 30 deletions
diff --git a/libopie2/opiecore/device/odevice.h b/libopie2/opiecore/device/odevice.h
index 1eb5959..c6306e7 100644
--- a/libopie2/opiecore/device/odevice.h
+++ b/libopie2/opiecore/device/odevice.h
@@ -1,241 +1,246 @@
/*
                This file is part of the Opie Project
              (C) 2002-2006 The Opie Team <opie-devel@handhelds.org>
=.
.=l.
           .>+-=
 _;:,     .>    :=|. This program is free software; you can
.> <`_,   >  .   <= redistribute it and/or modify it under
:`=1 )Y*s>-.--   : the terms of the GNU Library General Public
.="- .-=="i,     .._ License as published by the Free Software
 - .   .-<_>     .<> Foundation; version 2 of the License.
     ._= =}       :
    .%`+i>       _;_.
    .i_,=:_.      -<s. This program 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 the Free Software Foundation,
Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifndef ODEVICE_H_
#define ODEVICE_H_
/* OPIE */
#include <opie2/odevicebutton.h>
#include <qpe/qpeapplication.h> /* for Transformation enum.. */
/* QT */
#include <qnamespace.h>
#include <qobject.h>
#include <qstring.h>
#include <qstrlist.h>
#include <qwindowsystem_qws.h>
class Sound;
namespace Opie{
namespace Core{
class ODeviceData;
/**
* The available devices
*/
enum OModel {
Model_Unknown, // = 0
Model_Series_Mask = 0xffff0000,
Model_iPAQ = ( 1 << 16 ),
Model_iPAQ_All = ( Model_iPAQ | 0xffff ),
Model_iPAQ_H31xx = ( Model_iPAQ | 0x0001 ),
Model_iPAQ_H36xx = ( Model_iPAQ | 0x0002 ),
- Model_iPAQ_H37xx = ( Model_iPAQ | 0x0003 ),
- Model_iPAQ_H38xx = ( Model_iPAQ | 0x0004 ),
- Model_iPAQ_H39xx = ( Model_iPAQ | 0x0005 ),
- Model_iPAQ_H5xxx = ( Model_iPAQ | 0x0006 ),
- Model_iPAQ_H22xx = ( Model_iPAQ | 0x0007 ),
- Model_iPAQ_H191x = ( Model_iPAQ | 0x0008 ),
- Model_iPAQ_H1940 = ( Model_iPAQ | 0x0009 ),
- Model_iPAQ_HX4700 = ( Model_iPAQ | 0x000A ),
- Model_iPAQ_H4xxx = ( Model_iPAQ | 0x000b ),
- Model_Jornada = ( 6 << 16 ),
+ Model_iPAQ_H37xx = ( Model_iPAQ | 0x0004 ),
+ Model_iPAQ_H38xx = ( Model_iPAQ | 0x0008 ),
+ Model_iPAQ_H39xx = ( Model_iPAQ | 0x0010 ),
+ Model_iPAQ_H5xxx = ( Model_iPAQ | 0x0020 ),
+ Model_iPAQ_H22xx = ( Model_iPAQ | 0x0040 ),
+ Model_iPAQ_H191x = ( Model_iPAQ | 0x0080 ),
+ Model_iPAQ_H1940 = ( Model_iPAQ | 0x0100 ),
+ Model_iPAQ_HX4700 = ( Model_iPAQ | 0x0200 ),
+ Model_iPAQ_H4xxx = ( Model_iPAQ | 0x0400 ),
+
+ Model_Jornada = ( 3 << 17 ),
+
Model_Jornada_56x = ( Model_Jornada | 0x0001 ),
Model_Jornada_720 = ( Model_Jornada | 0x0002 ),
- Model_Jornada_820 = ( Model_Jornada | 0x0003 ),
+ Model_Jornada_820 = ( Model_Jornada | 0x0004 ),
Model_Zaurus = ( 2 << 16 ),
Model_Zaurus_SL5000 = ( Model_Zaurus | 0x0001 ),
Model_Zaurus_SL5500 = ( Model_Zaurus | 0x0002 ),
- Model_Zaurus_SLA300 = ( Model_Zaurus | 0x0003 ),
- Model_Zaurus_SLB600 = ( Model_Zaurus | 0x0004 ),
- Model_Zaurus_SLC7x0 = ( Model_Zaurus | 0x0005 ),
- Model_Zaurus_SL6000 = ( Model_Zaurus | 0x0006 ),
- Model_Zaurus_SLC3000 = ( Model_Zaurus | 0x0007 ),
- Model_Zaurus_SLC1000 = ( Model_Zaurus | 0x0008 ),
- Model_Zaurus_SLC3100 = ( Model_Zaurus | 0x0009 ),
+ Model_Zaurus_SLA300 = ( Model_Zaurus | 0x0004 ),
+ Model_Zaurus_SLB600 = ( Model_Zaurus | 0x0008 ),
+ Model_Zaurus_SLC7x0 = ( Model_Zaurus | 0x0010 ),
+ Model_Zaurus_SL6000 = ( Model_Zaurus | 0x0020 ),
+ Model_Zaurus_SLC3000 = ( Model_Zaurus | 0x0040 ),
+ Model_Zaurus_SLC1000 = ( Model_Zaurus | 0x0080 ),
+ Model_Zaurus_SLC3100 = ( Model_Zaurus | 0x0100 ),
Model_SIMpad = ( 3 << 16 ),
Model_SIMpad_All = ( Model_SIMpad | 0xffff ),
Model_SIMpad_CL4 = ( Model_SIMpad | 0x0001 ),
Model_SIMpad_SL4 = ( Model_SIMpad | 0x0002 ),
- Model_SIMpad_SLC = ( Model_SIMpad | 0x0003 ),
- Model_SIMpad_TSinus = ( Model_SIMpad | 0x0004 ),
+ Model_SIMpad_SLC = ( Model_SIMpad | 0x0004 ),
+ Model_SIMpad_TSinus = ( Model_SIMpad | 0x0008 ),
Model_Ramses = ( 4 << 16 ),
Model_Ramses_All = ( Model_Ramses | 0xffff ),
Model_Ramses_MNCI = ( Model_Ramses | 0x0001 ),
Model_Ramses_MNCIRX = ( Model_Ramses | 0x0002 ),
Model_Yopy = ( 5 << 16 ),
Model_Yopy_All = ( Model_Yopy | 0xffff ),
Model_Yopy_3000 = ( Model_Yopy | 0x0001 ),
Model_Yopy_3500 = ( Model_Yopy | 0x0002 ),
- Model_Yopy_3700 = ( Model_Yopy | 0x0003 ),
+ Model_Yopy_3700 = ( Model_Yopy | 0x0004 ),
Model_Beagle = ( 6 << 16 ),
Model_Beagle_All = ( Model_Beagle | 0xffff ),
Model_Beagle_PA100 = ( Model_Beagle | 0x0001 ),
Model_GenuineIntel = ( 7 << 16 ),
Model_MyPal = ( 8 << 16 ),
Model_MyPal_All = ( Model_MyPal | 0xffff ),
Model_MyPal_620 = ( Model_MyPal | 0x0001 ),
Model_MyPal_716 = ( Model_MyPal | 0x0002 ),
- Model_MyPal_730 = ( Model_MyPal | 0x0003 ),
+ Model_MyPal_730 = ( Model_MyPal | 0x0004 ),
Model_HTC = ( 9 << 16 ),
+
Model_HTC_All = ( Model_HTC | 0xffff ),
Model_HTC_Universal = ( Model_HTC | 0x0001 ),
Model_HTC_Alpine = ( Model_HTC | 0x0002 ),
- Model_HTC_Apache = ( Model_HTC | 0x0003 ),
- Model_HTC_Beetles = ( Model_HTC | 0x0004 ),
- Model_HTC_Blueangel = ( Model_HTC | 0x0005 ),
- Model_HTC_Himalaya = ( Model_HTC | 0x0006 ),
- Model_HTC_Magician = ( Model_HTC | 0x0007 ),
+ Model_HTC_Apache = ( Model_HTC | 0x0004 ),
+ Model_HTC_Beetles = ( Model_HTC | 0x0008 ),
+ Model_HTC_Blueangel = ( Model_HTC | 0x0010 ),
+ Model_HTC_Himalaya = ( Model_HTC | 0x0020 ),
+ Model_HTC_Magician = ( Model_HTC | 0x0040 ),
+
+ Model_Motorola = ( 2 << 17 ),
- Model_Motorola = ( 9 << 17 ),
Model_Motorola_All = ( Model_Motorola | 0xffff ),
Model_Motorola_EZX = ( Model_Motorola | 0x0001 ),
- Model_Palm = ( 10 << 16),
+ Model_Palm = ( 1 << 17),
+
Model_Palm_All = ( Model_Palm | 0xffff ),
Model_Palm_LD = ( Model_Palm | 0x0001 ),
Model_Palm_TX = ( Model_Palm | 0x0002 ),
- Model_Palm_Z72 = ( Model_Palm | 0x0003 ),
+ Model_Palm_Z72 = ( Model_Palm | 0x0004 ),
};
/**
* The vendor of the device
*/
enum OVendor {
Vendor_Unknown,
Vendor_HP,
Vendor_Sharp,
Vendor_SIEMENS,
Vendor_MundN,
Vendor_GMate,
Vendor_MasterIA,
Vendor_GenuineIntel,
Vendor_Asus,
Vendor_HTC,
Vendor_Motorola,
Vendor_Palm,
};
/**
* The System used
*/
enum OSystem {
System_Unknown,
System_Familiar,
System_Zaurus,
System_OpenZaurus,
System_Linupy,
System_OpenEmbedded,
System_PC,
System_OpenEZX,
System_Angstrom,
};
typedef struct {
OSystem system;
char* sysstr;
char* sysvfile;
} ODistribution;
extern ODistribution distributions[];
enum OLedState {
Led_Off,
Led_On,
Led_BlinkSlow,
Led_BlinkFast
};
enum OLed {
Led_Mail,
Led_Power,
Led_BlueTooth
};
enum OHardKey {
HardKey_Datebook = Qt::Key_F9,
HardKey_Contacts = Qt::Key_F10,
HardKey_Menu = Qt::Key_F11,
HardKey_Home = Qt::Key_F12,
HardKey_Mail = Qt::Key_F13,
HardKey_Record = Qt::Key_F24,
HardKey_Suspend = Qt::Key_F34,
HardKey_Backlight = Qt::Key_F35,
HardKey_Action = Qt::Key_F10,
HardKey_OK = Qt::Key_F11,
HardKey_End = Qt::Key_F12,
};
enum ODirection {
CW = 0,
CCW = 1,
Flip = 2,
};
enum OHingeStatus {
CASE_CLOSED = 3,
CASE_PORTRAIT = 2,
CASE_LANDSCAPE = 0,
CASE_UNKNOWN = 1,
};
/* default button for qvfb or such
* see odevice.cpp for details.
* hint: manage a user defined button for qvfb?
* alwin
*/
struct default_button {
Qt::Key code;
char *utext;
char *pix;