this supports moving with arrow keys in 2D mode
--
Wolfgang
--- qsudokubutton.cpp 2006-02-26 16:04:25.000000000 +0100
+++ /home/wr/knew/qsudokubutton.cpp 2006-02-26 16:55:21.000000000 +0100
@@ -71,8 +71,61 @@
void QSudokuButton::keyReleaseEvent ( QKeyEvent * e )
{
+ int order = p->puzzle->order;
if(e->stateAfter() & Qt::ShiftButton || e->state() & Qt::ShiftButton )
emit finishHighlight();
+ if (e->key() == Key_Right)
+ {
+ if (x<order-1)
+ x++;
+ else if (y<order-1)
+ {
+ y++;
+ x=0;
+ }
+ else
+ x=y=0;
+ emit enter(x,y);
+ }
+ if (e->key() == Key_Down)
+ {
+ if (y<order-1)
+ y++;
+ else if (x<order-1)
+ {
+ x++;
+ y=0;
+ }
+ else
+ x=y=0;
+ emit enter(x,y);
+ }
+ if (e->key() == Key_Up)
+ {
+ if (y>0)
+ y--;
+ else if (x>0)
+ {
+ x--;
+ y=order-1;
+ }
+ else
+ x=y=order-1;
+ emit enter(x,y);
+ }
+ if (e->key() == Key_Left)
+ {
+ if (x>0)
+ x--;
+ else if (y>0)
+ {
+ y--;
+ x=order-1;
+ }
+ else
+ x=y=order-1;
+ emit enter(x,y);
+ }
if(given) return; //it is given by puzzle so skip
char c = e->ascii();