summaryrefslogtreecommitdiff
authorkergoth <kergoth>2003-04-19 18:06:17 (UTC)
committer kergoth <kergoth>2003-04-19 18:06:17 (UTC)
commiteb276a6663540849ef98819eeaa8f935a7e1b945 (patch) (unidiff)
tree7464e0858a367034f976088021ccec5953a0eddc
parent89ced5d0c4f4ce89a11333d80aac2f8b81d97233 (diff)
downloadopie-eb276a6663540849ef98819eeaa8f935a7e1b945.zip
opie-eb276a6663540849ef98819eeaa8f935a7e1b945.tar.gz
opie-eb276a6663540849ef98819eeaa8f935a7e1b945.tar.bz2
Add note about c700 physical screen orientation handling.
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--libopie/odevice.cpp18
1 files changed, 15 insertions, 3 deletions
diff --git a/libopie/odevice.cpp b/libopie/odevice.cpp
index 29c8ad2..713cc90 100644
--- a/libopie/odevice.cpp
+++ b/libopie/odevice.cpp
@@ -1085,131 +1085,143 @@ int iPAQ::lightSensorResolution ( ) const
1085} 1085}
1086 1086
1087/************************************************** 1087/**************************************************
1088 * 1088 *
1089 * Zaurus 1089 * Zaurus
1090 * 1090 *
1091 **************************************************/ 1091 **************************************************/
1092 1092
1093 1093
1094 1094
1095void Zaurus::init ( ) 1095void Zaurus::init ( )
1096{ 1096{
1097 d-> m_vendorstr = "Sharp"; 1097 d-> m_vendorstr = "Sharp";
1098 d-> m_vendor = Vendor_Sharp; 1098 d-> m_vendor = Vendor_Sharp;
1099 1099
1100 QFile f ( "/proc/filesystems" ); 1100 QFile f ( "/proc/filesystems" );
1101 1101
1102 if ( f. open ( IO_ReadOnly ) && ( QTextStream ( &f ). read ( ). find ( "\tjffs2\n" ) >= 0 )) { 1102 if ( f. open ( IO_ReadOnly ) && ( QTextStream ( &f ). read ( ). find ( "\tjffs2\n" ) >= 0 )) {
1103 d-> m_vendorstr = "OpenZaurus Team"; 1103 d-> m_vendorstr = "OpenZaurus Team";
1104 d-> m_systemstr = "OpenZaurus"; 1104 d-> m_systemstr = "OpenZaurus";
1105 d-> m_system = System_OpenZaurus; 1105 d-> m_system = System_OpenZaurus;
1106 1106
1107 f. close ( ); 1107 f. close ( );
1108 1108
1109 f. setName ( "/etc/oz_version" ); 1109 f. setName ( "/etc/oz_version" );
1110 if ( f. open ( IO_ReadOnly )) { 1110 if ( f. open ( IO_ReadOnly )) {
1111 QTextStream ts ( &f ); 1111 QTextStream ts ( &f );
1112 d-> m_sysverstr = ts. readLine ( );//. mid ( 10 ); 1112 d-> m_sysverstr = ts. readLine ( );//. mid ( 10 );
1113 f. close ( ); 1113 f. close ( );
1114 } 1114 }
1115 } 1115 }
1116 else { 1116 else {
1117 d-> m_systemstr = "Zaurus"; 1117 d-> m_systemstr = "Zaurus";
1118 d-> m_system = System_Zaurus; 1118 d-> m_system = System_Zaurus;
1119 } 1119 }
1120 1120
1121 f. setName ( "/proc/deviceinfo/product" ); 1121 f. setName ( "/proc/deviceinfo/product" );
1122 if ( f. open ( IO_ReadOnly ) ) { 1122 if ( f. open ( IO_ReadOnly ) ) {
1123 QTextStream ts ( &f ); 1123 QTextStream ts ( &f );
1124 QString model = ts. readLine ( ); 1124 QString model = ts. readLine ( );
1125 f. close ( ); 1125 f. close ( );
1126 1126
1127 d-> m_modelstr = QString("Zaurus ") + model; 1127 d-> m_modelstr = QString("Zaurus ") + model;
1128 if ( model == "SL-5500" ) 1128 if ( model == "SL-5500" )
1129 d-> m_model = Model_Zaurus_SL5500; 1129 d-> m_model = Model_Zaurus_SL5500;
1130 else if ( model == "SL-C700" ) 1130 else if ( model == "SL-C700" )
1131 d-> m_model = Model_Zaurus_SLC700; 1131 d-> m_model = Model_Zaurus_SLC700;
1132 else if ( model == "SL-A300" ) 1132 else if ( model == "SL-A300" )
1133 d-> m_model = Model_Zaurus_SLA300; 1133 d-> m_model = Model_Zaurus_SLA300;
1134 else if ( model == "SL-B600" || model == "SL-5600" ) 1134 else if ( model == "SL-B600" || model == "SL-5600" )
1135 d-> m_model = Model_Zaurus_SLB600; 1135 d-> m_model = Model_Zaurus_SLB600;
1136 else 1136 else
1137 d-> m_model = Model_Zaurus_SL5000; 1137 d-> m_model = Model_Zaurus_SL5000;
1138 } 1138 }
1139 else { 1139 else {
1140 d-> m_model = Model_Zaurus_SL5000; 1140 d-> m_model = Model_Zaurus_SL5000;
1141 d-> m_modelstr = "Zaurus (model unknown)"; 1141 d-> m_modelstr = "Zaurus (model unknown)";
1142 } 1142 }
1143 1143
1144 switch ( d-> m_model ) { 1144 switch ( d-> m_model ) {
1145 case Model_Zaurus_SLA300: 1145 case Model_Zaurus_SLA300:
1146 d-> m_rotation = Rot0; 1146 d-> m_rotation = Rot0;
1147 break; 1147 break;
1148 case Model_Zaurus_SLC700: 1148 case Model_Zaurus_SLC700:
1149 /* note for C700, we must check the display rotation 1149 bool flipstate = false;
1150 * sensor to set an appropriate value 1150 // Note: need to 1) set flipstate based on physical screen orientation
1151 */ 1151 // and 2) check to see if the user overrode the rotation direction
1152 // using appearance, and if so, remove that item from the Config to
1153 // ensure the rotate applet flips us back to the previous state.
1154 if ( flipstate ) {
1155 // 480x640
1156 d-> m_rotation = Rot0;
1157 d-> m_direction = CW;
1158 } else {
1159 // 640x480
1160 d-> m_rotation = Rot270;
1161 d-> m_direction = CCW;
1162 }
1163 break;
1152 case Model_Zaurus_SLB600: 1164 case Model_Zaurus_SLB600:
1153 case Model_Zaurus_SL5500: 1165 case Model_Zaurus_SL5500:
1154 case Model_Zaurus_SL5000: 1166 case Model_Zaurus_SL5000:
1155 default: 1167 default:
1156 d-> m_rotation = Rot270; 1168 d-> m_rotation = Rot270;
1157 break; 1169 break;
1158 } 1170 }
1159 m_leds [0] = Led_Off; 1171 m_leds [0] = Led_Off;
1160} 1172}
1161 1173
1162void Zaurus::initButtons ( ) 1174void Zaurus::initButtons ( )
1163{ 1175{
1164 if ( d-> m_buttons ) 1176 if ( d-> m_buttons )
1165 return; 1177 return;
1166 1178
1167 d-> m_qwsserver = qApp ? ( qApp-> type ( ) == QApplication::GuiServer ) : false; 1179 d-> m_qwsserver = qApp ? ( qApp-> type ( ) == QApplication::GuiServer ) : false;
1168 1180
1169 d-> m_buttons = new QValueList <ODeviceButton>; 1181 d-> m_buttons = new QValueList <ODeviceButton>;
1170 1182
1171 for ( uint i = 0; i < ( sizeof( z_buttons ) / sizeof( z_button )); i++ ) { 1183 for ( uint i = 0; i < ( sizeof( z_buttons ) / sizeof( z_button )); i++ ) {
1172 z_button *zb = z_buttons + i; 1184 z_button *zb = z_buttons + i;
1173 ODeviceButton b; 1185 ODeviceButton b;
1174 1186
1175 b. setKeycode ( zb-> code ); 1187 b. setKeycode ( zb-> code );
1176 b. setUserText ( QObject::tr ( "Button", zb-> utext )); 1188 b. setUserText ( QObject::tr ( "Button", zb-> utext ));
1177 b. setPixmap ( Resource::loadPixmap ( zb-> pix )); 1189 b. setPixmap ( Resource::loadPixmap ( zb-> pix ));
1178 b. setFactoryPresetPressedAction ( OQCopMessage ( makeChannel ( zb-> fpressedservice ), zb-> fpressedaction )); 1190 b. setFactoryPresetPressedAction ( OQCopMessage ( makeChannel ( zb-> fpressedservice ), zb-> fpressedaction ));
1179 b. setFactoryPresetHeldAction ( OQCopMessage ( makeChannel ( zb-> fheldservice ), zb-> fheldaction )); 1191 b. setFactoryPresetHeldAction ( OQCopMessage ( makeChannel ( zb-> fheldservice ), zb-> fheldaction ));
1180 1192
1181 d-> m_buttons-> append ( b ); 1193 d-> m_buttons-> append ( b );
1182 } 1194 }
1183 1195
1184 reloadButtonMapping ( ); 1196 reloadButtonMapping ( );
1185 1197
1186 QCopChannel *sysch = new QCopChannel ( "QPE/System", this ); 1198 QCopChannel *sysch = new QCopChannel ( "QPE/System", this );
1187 connect ( sysch, SIGNAL( received( const QCString &, const QByteArray & )), this, SLOT( systemMessage ( const QCString &, const QByteArray & ))); 1199 connect ( sysch, SIGNAL( received( const QCString &, const QByteArray & )), this, SLOT( systemMessage ( const QCString &, const QByteArray & )));
1188} 1200}
1189 1201
1190#include <unistd.h> 1202#include <unistd.h>
1191#include <fcntl.h> 1203#include <fcntl.h>
1192#include <sys/ioctl.h> 1204#include <sys/ioctl.h>
1193 1205
1194//#include <asm/sharp_char.h> // including kernel headers is evil ... 1206//#include <asm/sharp_char.h> // including kernel headers is evil ...
1195 1207
1196#define SHARP_DEV_IOCTL_COMMAND_START 0x5680 1208#define SHARP_DEV_IOCTL_COMMAND_START 0x5680
1197 1209
1198 #defineSHARP_BUZZER_IOCTL_START (SHARP_DEV_IOCTL_COMMAND_START) 1210 #defineSHARP_BUZZER_IOCTL_START (SHARP_DEV_IOCTL_COMMAND_START)
1199#define SHARP_BUZZER_MAKESOUND (SHARP_BUZZER_IOCTL_START) 1211#define SHARP_BUZZER_MAKESOUND (SHARP_BUZZER_IOCTL_START)
1200 1212
1201#define SHARP_BUZ_TOUCHSOUND 1 /* touch panel sound */ 1213#define SHARP_BUZ_TOUCHSOUND 1 /* touch panel sound */
1202#define SHARP_BUZ_KEYSOUND 2 /* key sound */ 1214#define SHARP_BUZ_KEYSOUND 2 /* key sound */
1203#define SHARP_BUZ_SCHEDULE_ALARM 11 /* schedule alarm */ 1215#define SHARP_BUZ_SCHEDULE_ALARM 11 /* schedule alarm */
1204 1216
1205/* --- for SHARP_BUZZER device --- */ 1217/* --- for SHARP_BUZZER device --- */
1206 1218
1207 //#defineSHARP_BUZZER_IOCTL_START (SHARP_DEV_IOCTL_COMMAND_START) 1219 //#defineSHARP_BUZZER_IOCTL_START (SHARP_DEV_IOCTL_COMMAND_START)
1208//#define SHARP_BUZZER_MAKESOUND (SHARP_BUZZER_IOCTL_START) 1220//#define SHARP_BUZZER_MAKESOUND (SHARP_BUZZER_IOCTL_START)
1209 1221
1210#define SHARP_BUZZER_SETVOLUME (SHARP_BUZZER_IOCTL_START+1) 1222#define SHARP_BUZZER_SETVOLUME (SHARP_BUZZER_IOCTL_START+1)
1211#define SHARP_BUZZER_GETVOLUME (SHARP_BUZZER_IOCTL_START+2) 1223#define SHARP_BUZZER_GETVOLUME (SHARP_BUZZER_IOCTL_START+2)
1212#define SHARP_BUZZER_ISSUPPORTED (SHARP_BUZZER_IOCTL_START+3) 1224#define SHARP_BUZZER_ISSUPPORTED (SHARP_BUZZER_IOCTL_START+3)
1213#define SHARP_BUZZER_SETMUTE (SHARP_BUZZER_IOCTL_START+4) 1225#define SHARP_BUZZER_SETMUTE (SHARP_BUZZER_IOCTL_START+4)
1214#define SHARP_BUZZER_STOPSOUND (SHARP_BUZZER_IOCTL_START+5) 1226#define SHARP_BUZZER_STOPSOUND (SHARP_BUZZER_IOCTL_START+5)
1215 1227