Diffstat (limited to 'libopie2/opiecore/device/odevice_ipaq.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | libopie2/opiecore/device/odevice_ipaq.cpp | 77 |
1 files changed, 33 insertions, 44 deletions
diff --git a/libopie2/opiecore/device/odevice_ipaq.cpp b/libopie2/opiecore/device/odevice_ipaq.cpp index 00939bf..16ecc27 100644 --- a/libopie2/opiecore/device/odevice_ipaq.cpp +++ b/libopie2/opiecore/device/odevice_ipaq.cpp @@ -79,86 +79,78 @@ typedef struct { unsigned char mode; unsigned char pwr; unsigned char brightness; } FLITE_IN; #define LED_ON OD_IOW( 'f', 5, LED_IN ) #define FLITE_ON OD_IOW( 'f', 7, FLITE_IN ) +#define Model_Keyboardless_2_6 (Model_iPAQ_H191x | Model_iPAQ_H22xx | Model_iPAQ_HX4700 | Model_iPAQ_H4xxx) + struct i_button ipaq_buttons [] = { - { Model_iPAQ_H31xx | Model_iPAQ_H36xx | Model_iPAQ_H37xx | Model_iPAQ_H38xx | Model_iPAQ_H39xx | Model_iPAQ_H5xxx | Model_iPAQ_H191x | Model_iPAQ_H22xx | Model_iPAQ_HX4700 | Model_iPAQ_H4xxx, + + // Common button map for all keyboardless devices with 2.6 kernel + { Model_Keyboardless_2_6, Qt::Key_F9, QT_TRANSLATE_NOOP("Button", "Calendar Button"), "devicebuttons/ipaq_calendar", "datebook", "nextView()", "today", "raise()" }, - { Model_iPAQ_H31xx | Model_iPAQ_H36xx | Model_iPAQ_H37xx | Model_iPAQ_H38xx | Model_iPAQ_H39xx | Model_iPAQ_H5xxx | Model_iPAQ_H191x | Model_iPAQ_H22xx | Model_iPAQ_HX4700 | Model_iPAQ_H4xxx, + { Model_Keyboardless_2_6, Qt::Key_F10, QT_TRANSLATE_NOOP("Button", "Contacts Button"), "devicebuttons/ipaq_contact", "addressbook", "raise()", "addressbook", "beamBusinessCard()" }, - { Model_iPAQ_H31xx | Model_iPAQ_H36xx | Model_iPAQ_H37xx, - Qt::Key_F11, QT_TRANSLATE_NOOP("Button", "Menu Button"), - "devicebuttons/ipaq_menu", - "QPE/TaskBar", "toggleMenu()", - "QPE/TaskBar", "toggleStartMenu()" }, - { Model_iPAQ_H38xx | Model_iPAQ_H39xx | Model_iPAQ_H5xxx, - Qt::Key_F13, QT_TRANSLATE_NOOP("Button", "Mail Button"), + { Model_Keyboardless_2_6, + Qt::Key_F11, QT_TRANSLATE_NOOP("Button", "Mail Button"), "devicebuttons/ipaq_mail", "opiemail", "raise()", "opiemail", "newMail()" }, - { Model_iPAQ_H31xx | Model_iPAQ_H36xx | Model_iPAQ_H37xx | Model_iPAQ_H38xx | Model_iPAQ_H39xx | Model_iPAQ_H5xxx | Model_iPAQ_H191x | Model_iPAQ_H4xxx, + { Model_Keyboardless_2_6, Qt::Key_F12, QT_TRANSLATE_NOOP("Button", "Home Button"), "devicebuttons/ipaq_home", "QPE/Launcher", "home()", "buttonsettings", "raise()" }, - { Model_iPAQ_H31xx | Model_iPAQ_H36xx | Model_iPAQ_H37xx | Model_iPAQ_H38xx | Model_iPAQ_H39xx | Model_iPAQ_H5xxx, + { Model_Keyboardless_2_6, Qt::Key_F24, QT_TRANSLATE_NOOP("Button", "Record Button"), "devicebuttons/ipaq_record", "QPE/VMemo", "toggleRecord()", "sound", "raise()" }, - { Model_iPAQ_H191x | Model_iPAQ_H4xxx, - Qt::Key_F8, QT_TRANSLATE_NOOP("Button", "Mail Button"), - "devicebuttons/ipaq_mail", - "opiemail", "raise()", - "opiemail", "newMail()" }, - { Model_iPAQ_H191x | Model_iPAQ_H4xxx, - Qt::Key_F7, QT_TRANSLATE_NOOP("Button", "Record Button"), - "devicebuttons/ipaq_record", - "QPE/VMemo", "toggleRecord()", - "sound", "raise()" }, - - //h2200 has different button mapping - { Model_iPAQ_H22xx, - Qt::Key_NumLock, QT_TRANSLATE_NOOP("Button", "Mail Button"), - "devicebuttons/ipaq_mail", - "opiemail", "raise()", - "opiemail", "newMail()" }, - { Model_iPAQ_H22xx, - Qt::Key_ScrollLock, QT_TRANSLATE_NOOP("Button", "Menu Button"), + // Devices with 2.4 kernel + { Model_iPAQ_H31xx | Model_iPAQ_H36xx | Model_iPAQ_H37xx | Model_iPAQ_H38xx | Model_iPAQ_H39xx | Model_iPAQ_H5xxx, + Qt::Key_F9, QT_TRANSLATE_NOOP("Button", "Calendar Button"), + "devicebuttons/ipaq_calendar", + "datebook", "nextView()", + "today", "raise()" }, + { Model_iPAQ_H31xx | Model_iPAQ_H36xx | Model_iPAQ_H37xx | Model_iPAQ_H38xx | Model_iPAQ_H39xx | Model_iPAQ_H5xxx, + Qt::Key_F10, QT_TRANSLATE_NOOP("Button", "Contacts Button"), + "devicebuttons/ipaq_contact", + "addressbook", "raise()", + "addressbook", "beamBusinessCard()" }, + { Model_iPAQ_H31xx | Model_iPAQ_H36xx | Model_iPAQ_H37xx, + Qt::Key_F11, QT_TRANSLATE_NOOP("Button", "Menu Button"), "devicebuttons/ipaq_menu", "QPE/TaskBar", "toggleMenu()", "QPE/TaskBar", "toggleStartMenu()" }, - // and hx4700 has different button mapping still - { Model_iPAQ_HX4700, - Qt::Key_F11, QT_TRANSLATE_NOOP("Button", "Mail Button"), + { Model_iPAQ_H38xx | Model_iPAQ_H39xx | Model_iPAQ_H5xxx, + Qt::Key_F13, QT_TRANSLATE_NOOP("Button", "Mail Button"), "devicebuttons/ipaq_mail", "opiemail", "raise()", "opiemail", "newMail()" }, - { Model_iPAQ_HX4700, - Qt::Key_F12, QT_TRANSLATE_NOOP("Button", "Record Button"), - "devicebuttons/ipaq_record", - "QPE/VMemo", "toggleRecord()", - "sound", "raise()" }, - { Model_iPAQ_HX4700, - Qt::Key_Home, QT_TRANSLATE_NOOP("Button", "Home Button"), + { Model_iPAQ_H31xx | Model_iPAQ_H36xx | Model_iPAQ_H37xx | Model_iPAQ_H38xx | Model_iPAQ_H39xx | Model_iPAQ_H5xxx, + Qt::Key_F12, QT_TRANSLATE_NOOP("Button", "Home Button"), "devicebuttons/ipaq_home", "QPE/Launcher", "home()", "buttonsettings", "raise()" }, + { Model_iPAQ_H31xx | Model_iPAQ_H36xx | Model_iPAQ_H37xx | Model_iPAQ_H38xx | Model_iPAQ_H39xx | Model_iPAQ_H5xxx, + Qt::Key_F24, QT_TRANSLATE_NOOP("Button", "Record Button"), + "devicebuttons/ipaq_record", + "QPE/VMemo", "toggleRecord()", + "sound", "raise()" }, }; void iPAQ::init(const QString& model) { d->m_vendorstr = "HP"; d->m_vendor = Vendor_HP; @@ -341,21 +333,18 @@ bool iPAQ::filter ( int /*unicode*/, int keycode, int modifiers, bool isPress, b if (( d->m_model == Model_iPAQ_H5xxx ) || ( d->m_model == Model_iPAQ_H191x ) || ( d->m_model == Model_iPAQ_H4xxx ) || ( d->m_model == Model_iPAQ_H1940 )) newkeycode = Key_Left + ( keycode - Key_Left + 3 ) % 4; break; } - // map Power Button short/long press to F6 for h191x - case Key_F6: - if ( d->m_model != Model_iPAQ_H191x && d->m_model != Model_iPAQ_H4xxx ) - break; // map Power Button short/long press to F34/F35 + case HardKey_Suspend: // Hope we don't have infinite recursion here case Key_SysReq: { if ( isPress ) { if ( m_power_timer ) killTimer ( m_power_timer ); m_power_timer = startTimer ( 500 ); } else if ( m_power_timer ) { killTimer ( m_power_timer ); |