summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opiecore/device/odevice_zaurus.cpp23
1 files changed, 19 insertions, 4 deletions
diff --git a/libopie2/opiecore/device/odevice_zaurus.cpp b/libopie2/opiecore/device/odevice_zaurus.cpp
index 780d130..a59e799 100644
--- a/libopie2/opiecore/device/odevice_zaurus.cpp
+++ b/libopie2/opiecore/device/odevice_zaurus.cpp
@@ -37,4 +37,5 @@
/* OPIE */
+#include <opie2/oinputsystem.h>
#include <qpe/config.h>
#include <qpe/resource.h>
@@ -101,5 +102,14 @@ struct z_button z_buttons_c700 [] = {
"opiemail", "raise()",
"opiemail", "newMail()" },
- { Qt::Key_F14, QT_TRANSLATE_NOOP("Button", "Display Rotate"),
+
+ { Qt::Key_F15, QT_TRANSLATE_NOOP("Button", "Display Rotate"),
+ "devicebuttons/z_hinge",
+ "QPE/Rotation", "rotateDefault()",
+ "QPE/Dummy", "doNothing()" },
+ { Qt::Key_F16, QT_TRANSLATE_NOOP("Button", "Display Rotate"),
+ "devicebuttons/z_hinge",
+ "QPE/Rotation", "rotateDefault()",
+ "QPE/Dummy", "doNothing()" },
+ { Qt::Key_F17, QT_TRANSLATE_NOOP("Button", "Display Rotate"),
"devicebuttons/z_hinge",
"QPE/Rotation", "rotateDefault()",
@@ -508,5 +518,5 @@ Transformation Zaurus::rotation() const
{
Transformation rot;
-
+
switch ( d->m_model ) {
case Model_Zaurus_SLC3000: // fallthrough
@@ -533,5 +543,5 @@ ODirection Zaurus::direction() const
{
ODirection dir;
-
+
switch ( d->m_model ) {
case Model_Zaurus_SLC3000: // fallthrough
@@ -588,5 +598,10 @@ OHingeStatus Zaurus::readHingeSensor() const
else
{
- qDebug( "Zaurus::readHingeSensor: ODevice handling for non-embedix kernels not yet implemented" );
+ // corgi keyboard is event source 0 in OZ kernel 2.6
+ OInputDevice* keyboard = OInputSystem::instance()->device( "event0" );
+ if ( keyboard && keyboard->isHeld( OInputDevice::Key_KP0 ) ) return CASE_LANDSCAPE;
+ else if ( keyboard && keyboard->isHeld( OInputDevice::Key_KP1 ) ) return CASE_PORTRAIT;
+ else if ( keyboard && keyboard->isHeld( OInputDevice::Key_KP2 ) ) return CASE_CLOSED;
+ qWarning("Zaurus::readHingeSensor() - couldn't compute hinge status!" );
return CASE_UNKNOWN;
}