summaryrefslogtreecommitdiff
authormickeyl <mickeyl>2005-09-03 20:36:38 (UTC)
committer mickeyl <mickeyl>2005-09-03 20:36:38 (UTC)
commit62ae8e732a5d4e5b23d060185c0655b1666be59c (patch) (side-by-side diff)
tree71e6d1530036731274f8ea0262423e74e86fe9f7
parentde950b18690b8981a2bddaca68cbd5d48c71f689 (diff)
downloadopie-62ae8e732a5d4e5b23d060185c0655b1666be59c.zip
opie-62ae8e732a5d4e5b23d060185c0655b1666be59c.tar.gz
opie-62ae8e732a5d4e5b23d060185c0655b1666be59c.tar.bz2
switch to 5-point calibration to make it work on some newer Zaurii
this goes hand in hand with the integration of the RMK tslib calibration algorithm into Qt/Embedded 2.3.x. Patch courtesy Richard Purdie.
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--ChangeLog3
-rw-r--r--core/apps/calibrate/calibrate.cpp6
2 files changed, 5 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 38b65c0..1c713ed 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -52,33 +52,34 @@
Internal
--------
* Make BluezApplet use OTaskbarApplet (mickeyl)
* libopiecore: rewrite OFileNotification to use the Linux 2.6 inotify interface (mickeyl)
* libopiecore: add ODirNotification - recursive directory notifications (mickeyl)
* libopienet: Skip hostap control interfaces 'wifi' and improve robustness in ONetworkInterface (mickeyl)
* libopieui: Remove OVersatileView and OVersatileViewItem (mickeyl)
* libopienet: Miscellaneous API cleanups (mickeyl)
* libopiecore: Add linux pcmcia system abstraction classes (mickeyl)
* libopiecore: ODevice now knows the default gfx driver to use (mteira,mickeyl)
* libopiecore: Add support for the Sharp SL-C3100 "Borzoi" (mickeyl)
* libopiecore: Add support for the new Linux Inputsystem Switches type [necessary for auto rotation in 2.6.13] (mickeyl)
* Remove assumptions about default gfx driver ("Transformed") all over the place (mteira,mickeyl)
* Fix / Optimize number of scanned directories (ljp)
-
+ * Use five point mouse calibration to make calibrated mouse drivers work on newer Zaurii (rp,mickeyl)
+
2005-03-25 Opie 1.2.0
Fixed Bugs
----------
* #1613 - AdvancedFM - scale toolbar icons appropriately (drw)
* #1620 - OFileSelector - show the button on press and not on press on hold (alwin)
* #1473 - Opie-Eye - Same as #1620 but we lack a common FileSystem Button class (zecke)
* n.a. - PackageManager - fix bug where messages show up multiple times in install dialog (drw)
* n.a. - make qpeglobal.h include qglobal.h (zecke)
2005-03-20 Opie 1.2.0-rc1
New Features
------------
* Launcher: Support a static background pixmap (mickeyl)
diff --git a/core/apps/calibrate/calibrate.cpp b/core/apps/calibrate/calibrate.cpp
index 5f52bdc..53388f1 100644
--- a/core/apps/calibrate/calibrate.cpp
+++ b/core/apps/calibrate/calibrate.cpp
@@ -111,33 +111,33 @@ QPoint Calibrate::fromDevice( const QPoint &p )
return qt_screen->mapFromDevice ( p, QSize( qt_screen->deviceWidth ( ), qt_screen->deviceHeight() ) );
#else
return QPoint();
#endif
}
bool Calibrate::sanityCheck()
{
#ifdef QWS
QPoint tl = cd.devPoints[QWSPointerCalibrationData::TopLeft];
QPoint tr = cd.devPoints[QWSPointerCalibrationData::TopRight];
QPoint bl = cd.devPoints[QWSPointerCalibrationData::BottomLeft];
QPoint br = cd.devPoints[QWSPointerCalibrationData::BottomRight];
// not needed anywhere .. just calculate it, so it's there
- cd.devPoints[QWSPointerCalibrationData::Center] = QRect( tl, br ).normalize().center();
+ //cd.devPoints[QWSPointerCalibrationData::Center] = QRect( tl, br ).normalize().center();
int dlx = QABS( bl. x ( ) - tl. x ( ));
int dly = QABS( bl. y ( ) - tl. y ( ));
int drx = QABS( br. x ( ) - tr. x ( ));
int dry = QABS( br. y ( ) - tr. y ( ));
int dtx = QABS( tr. x ( ) - tl. x ( ));
int dty = QABS( tr. y ( ) - tl. y ( ));
int dbx = QABS( br. x ( ) - bl. x ( ));
int dby = QABS( br. y ( ) - bl. y ( ));
int dl = (int) ::sqrt (( dlx * dlx ) + ( dly * dly )); // calculate vector lengths for all sides
int dr = (int) ::sqrt (( drx * drx ) + ( dry * dry ));
int dt = (int) ::sqrt (( dtx * dtx ) + ( dty * dty ));
int db = (int) ::sqrt (( dbx * dbx ) + ( dby * dby ));
// Calculate leeway for x/y (we do not care if diff1/diff2 is for x or y here !)
@@ -162,33 +162,33 @@ bool Calibrate::sanityCheck()
return true;
#endif
}
void Calibrate::moveCrosshair( QPoint pt )
{
showCross = FALSE;
repaint( crossPos.x() - 14, crossPos.y() - 14, 28, 28 );
showCross = TRUE;
crossPos = pt;
repaint( crossPos.x() - 14, crossPos.y() - 14, 28, 28 );
}
void Calibrate::paintEvent( QPaintEvent * )
{
QPainter p( this );
- int y = height() / 3;
+ int y = height() / 2;
p.drawText( 0, y + height() / 8, width(), height() - y, AlignHCenter,
tr( "Touch the crosshairs firmly and\n"
"accurately to calibrate your screen." ) );
if ( !showCross ) return;
#if 0
if ( crosshair.isNull() ) {
#endif
p.setPen( QColor( 0, 0, 155 ) );
p.drawEllipse( crossPos.x()-8, crossPos.y()-8, 16, 16 );
p.setPen( QColor( 250, 220, 220 ) );
p.drawRoundRect( crossPos.x()-12, crossPos.y()-12, 24, 24, 75, 75 );
p.setPen( QColor( 0, 0, 120 ) );
p.drawRect( crossPos.x() - 1, crossPos.y() - 14, 2, 13 );
@@ -210,33 +210,33 @@ void Calibrate::mousePressEvent( QMouseEvent *e )
penPos = devPos;
else
penPos = QPoint( ( penPos.x() + devPos.x() ) / 2,
( penPos.y() + devPos.y() ) / 2 );
#endif
}
void Calibrate::mouseReleaseEvent( QMouseEvent * )
{
#ifdef QWS
if ( timer->isActive() )
return ;
bool doMove = TRUE;
cd.devPoints[ location ] = penPos;
- if ( location < QWSPointerCalibrationData::TopRight ) {
+ if ( location < QWSPointerCalibrationData::Center ) {
location = (QWSPointerCalibrationData::Location) ( int( location ) + 1 );
}
else {
if ( sanityCheck() ) {
reset();
goodcd = cd;
hide();
emit accept();
doMove = FALSE;
}
else {
location = QWSPointerCalibrationData::TopLeft;
}
}
if ( doMove ) {