summaryrefslogtreecommitdiff
path: root/inputmethods/kjumpx/keyboard.cpp
Side-by-side diff
Diffstat (limited to 'inputmethods/kjumpx/keyboard.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--inputmethods/kjumpx/keyboard.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/inputmethods/kjumpx/keyboard.cpp b/inputmethods/kjumpx/keyboard.cpp
index 3af6a78..dc44805 100644
--- a/inputmethods/kjumpx/keyboard.cpp
+++ b/inputmethods/kjumpx/keyboard.cpp
@@ -79,128 +79,129 @@ static const ushort kletterMap[][6] = {
{ 0x1110, 0x1103, 0x1102, 0x1169, 0x1173, 0x1166 },
{ 0x110e, 0x1107, 0x1106, 0x1111, 0x116e, 0x1172 },
};
static const uchar *const letterMapShift[] = {
(const uchar *const)"ZVCHWK",
(const uchar *const)"FITALY",
(const uchar *const)" NE ",
(const uchar *const)"GDORSB",
(const uchar *const)"QJUMPX",
};
static const ushort kletterMapShift[][6] = {
{ 0x110d, 0x1112, 0x110a, 0x116d, 0x1167, 0x1163 },
{ 0x110f, 0x1105, 0x1101, 0x1161, 0x1175, 0x1164 },
{ ' ', ' ', 0x110b, 0x1165, ' ', ' ' },
{ 0x1110, 0x1104, 0x1102, 0x1169, 0x1173, 0x1168 },
{ 0x110e, 0x1108, 0x1106, 0x1111, 0x116e, 0x1172 },
};
static const uchar *const num1Map = (const uchar *const)"12345";
static const uchar *const specialMap[] = {
(const uchar *const)"-+",
(const uchar *const)"*!",
(const uchar *const)",'",
(const uchar *const)".%",
(const uchar *const)"/$",
};
static const uchar *const specialMapShift[] = {
(const uchar *const)"_=",
(const uchar *const)"#?",
(const uchar *const)";\"",
(const uchar *const)":|",
(const uchar *const)"\\&",
};
static const uchar *const specialMapParen[] = {
(const uchar *const)"()",
(const uchar *const)"[]",
(const uchar *const)"{}",
(const uchar *const)"<>",
(const uchar *const)"@~",
};
static const uchar *const num2Map = (const uchar *const)"67890";
static const mapElement mod2Map[] = {
{ Qt::Key_Backspace, 8 },
{ Qt::Key_Delete, 0 },
{ Qt::Key_Return, 13 },
{ Qt::Key_Shift, 0 },
{ myParenID, 0 },
};
static const int cursorMap[][2] = {
{ Qt::Key_Home, Qt::Key_PageUp },
{ Qt::Key_End, Qt::Key_PageDown },
{ Qt::Key_Up, Qt::Key_Up },
{ Qt::Key_Left, Qt::Key_Right },
{ Qt::Key_Down, Qt::Key_Down },
};
+using namespace KJumpX;
Keyboard::Keyboard(QWidget* parent, const char* name, WFlags f) :
QFrame(parent, name, f),
shift(0), paren(0), ctrl(0), alt(0), lang(1), lastKey(0),
pressedKeyUnicode(0), pressedKeyQcode(0), pressedMod(0),
isnoncont(false),
slideKeyUnicodeH(0), slideKeyQcodeH(0), slideKeyUnicodeV(0), slideKeyQcodeV(0),
enableMouseTracking(false), slidePix(NULL), slidePixH(NULL), slidePixV(NULL),
releasedPix(NULL), pressedPix(NULL)
{
//setPalette(QPalette(QColor(240,240,230))); // Beige!
releasedPlain = releasedShift = releasedParen = Resource::loadPixmap("kjumpx/released");
pressedPlain = pressedShift = pressedParen = Resource::loadPixmap("kjumpx/pressed");
pressedDigit = Resource::loadPixmap("kjumpx/pressed");
QPixmap tmp;
tmp = Resource::loadPixmap("kjumpx/releasedShift");
bitBlt(&releasedShift, letterx1, 0, &tmp);
tmp = Resource::loadPixmap("kjumpx/releasedParen");
bitBlt(&releasedParen, specialx1, 0, &tmp);
tmp = Resource::loadPixmap("kjumpx/pressedShift");
bitBlt(&pressedShift, letterx1, 0, &tmp);
tmp = Resource::loadPixmap("kjumpx/pressedParen");
bitBlt(&pressedParen, specialx1, 0, &tmp);
tmp = Resource::loadPixmap("kjumpx/pressedDigit");
bitBlt(&pressedDigit, specialx1, 0, &tmp);
offscreen = QPixmap( releasedPlain );
releasedPix = &releasedPlain;
pressedPix = &pressedPlain;
slidePix = &pressedPlain;
delayTimer = new QTimer(this);
rateTimer = new QTimer(this);
connect( delayTimer, SIGNAL( timeout() ), this, SLOT( delayTimerDone() ) );
connect( rateTimer, SIGNAL( timeout() ), this, SLOT( rateTimerDone() ) );
}
void Keyboard::resizeEvent(QResizeEvent*)
{
//cout << "resizeEvent()" << endl;
}
void Keyboard::paintEvent(QPaintEvent*)
{
bitBlt(this, 0, 0, &offscreen);
}
void Keyboard::mousePressEvent(QMouseEvent *e)
{
pressedx = -1;
pressedKeyUnicode = pressedKeyQcode = pressedMod = 0;
int x = e->x();
int y = e->y();
int row = (y - 1) / letterh;