summaryrefslogtreecommitdiff
path: root/inputmethods
Side-by-side diff
Diffstat (limited to 'inputmethods') (more/less context) (show whitespace changes)
-rw-r--r--inputmethods/jumpx/config.in2
-rw-r--r--inputmethods/jumpx/jumpx.pro2
-rw-r--r--inputmethods/jumpx/keyboard.cpp18
-rw-r--r--inputmethods/jumpx/opie-jumpx.control2
-rw-r--r--inputmethods/kjumpx/config.in2
-rw-r--r--inputmethods/kjumpx/keyboard.cpp60
-rw-r--r--inputmethods/kjumpx/kjumpx.pro2
-rw-r--r--inputmethods/kjumpx/opie-kjumpx.control2
-rw-r--r--inputmethods/multikey/config.in2
-rw-r--r--inputmethods/multikey/configdlg.cpp13
-rw-r--r--inputmethods/multikey/multikey.pro2
-rw-r--r--inputmethods/multikey/opie-multikey.control2
12 files changed, 56 insertions, 53 deletions
diff --git a/inputmethods/jumpx/config.in b/inputmethods/jumpx/config.in
index f2779f8..33645d9 100644
--- a/inputmethods/jumpx/config.in
+++ b/inputmethods/jumpx/config.in
@@ -1,4 +1,4 @@
config JUMPX
boolean "opie-jumpx (keyboard optimized for single finger/stylus input)"
default "y"
- depends ( LIBQPE || LIBQPE-X11 )
+ depends ( LIBQPE || LIBQPE-X11 ) && LIBOPIE2CORE
diff --git a/inputmethods/jumpx/jumpx.pro b/inputmethods/jumpx/jumpx.pro
index c8b2185..e13deb9 100644
--- a/inputmethods/jumpx/jumpx.pro
+++ b/inputmethods/jumpx/jumpx.pro
@@ -1,15 +1,15 @@
TEMPLATE = lib
CONFIG += qt plugin warn_on release
HEADERS = keyboard.h \
keyboardimpl.h
SOURCES = keyboard.cpp \
keyboardimpl.cpp
TARGET = qjumpx
DESTDIR = ../../plugins/inputmethods
INCLUDEPATH += $(OPIEDIR)/include
DEPENDPATH += $(OPIEDIR)/include
-LIBS += -lqpe
+LIBS += -lqpe -lopiecore2
VERSION = 1.0.0
include( $(OPIEDIR)/include.pro )
target.path = $$prefix/plugins/inputmethods
diff --git a/inputmethods/jumpx/keyboard.cpp b/inputmethods/jumpx/keyboard.cpp
index 0cfb4be..79f0d5d 100644
--- a/inputmethods/jumpx/keyboard.cpp
+++ b/inputmethods/jumpx/keyboard.cpp
@@ -1,254 +1,254 @@
/**************************************************************************************94x78**
**
** This file may be distributed and/or modified under the terms of the
** GNU General Public License version 2 as published by the Free Software
** Foundation and appearing in the file LICENSE.GPL included in the
** packaging of this file.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
**
*********************************************************************************************/
#include "keyboard.h"
-#include <qpe/resource.h>
+#include <opie2/oresource.h>
//#include <iostream.h>
static const int autorepeatDelaytime = 500; // ms
static const int autorepeatRate = 20; // chars per second
static const int mod1x1 = 0;
static const int mod1x2 = 23;
static const int mod1w = mod1x2 - mod1x1;
static const int letterx1 = 27;
static const int letterx2 = 129;
static const int letterw = 17;
static const int letterh = 14;
static const int num1x1 = 130;
static const int num1x2 = 137;
static const int num1w = num1x2 - num1x1;
static const int specialx1 = 138;
static const int specialx2 = 170;
static const int specialw = 16;
static const int num2x1 = 171;
static const int num2x2 = 178;
static const int num2w = num2x2 - num2x1;
static const int mod2x1 = 179;
static const int mod2x2 = 203;
static const int mod2w = mod2x2 - mod2x1;
static const int cursorx1 = 207;
static const int cursorw = 16;
static const int myParenID = -10;
typedef struct mapElement
{
int qcode;
ushort unicode;
};
static const mapElement mod1Map[] = {
{ Qt::Key_Escape, 27 },
{ Qt::Key_Tab, 9 },
{ Qt::Key_Return, 13 },
{ Qt::Key_Alt, 0 },
{ Qt::Key_Control, 0 },
};
static const uchar *const letterMap[] = {
(const uchar *const)"zvchwk",
(const uchar *const)"fitaly",
(const uchar *const)" ne ",
(const uchar *const)"gdorsb",
(const uchar *const)"qjumpx",
};
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 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 JumpX;
Keyboard::Keyboard(QWidget* parent, const char* name, WFlags f) :
QFrame(parent, name, f),
shift(0), paren(0), ctrl(0), alt(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("jumpx/released");
- pressedPlain = pressedShift = pressedParen = Resource::loadPixmap("jumpx/pressed");
- pressedDigit = Resource::loadPixmap("jumpx/pressed");
+ releasedPlain = releasedShift = releasedParen = Opie::Core::OResource::loadPixmap("jumpx/released");
+ pressedPlain = pressedShift = pressedParen = Opie::Core::OResource::loadPixmap("jumpx/pressed");
+ pressedDigit = Opie::Core::OResource::loadPixmap("jumpx/pressed");
QPixmap tmp;
- tmp = Resource::loadPixmap("jumpx/releasedShift");
+ tmp = Opie::Core::OResource::loadPixmap("jumpx/releasedShift");
bitBlt(&releasedShift, letterx1, 0, &tmp);
- tmp = Resource::loadPixmap("jumpx/releasedParen");
+ tmp = Opie::Core::OResource::loadPixmap("jumpx/releasedParen");
bitBlt(&releasedParen, specialx1, 0, &tmp);
- tmp = Resource::loadPixmap("jumpx/pressedShift");
+ tmp = Opie::Core::OResource::loadPixmap("jumpx/pressedShift");
bitBlt(&pressedShift, letterx1, 0, &tmp);
- tmp = Resource::loadPixmap("jumpx/pressedParen");
+ tmp = Opie::Core::OResource::loadPixmap("jumpx/pressedParen");
bitBlt(&pressedParen, specialx1, 0, &tmp);
- tmp = Resource::loadPixmap("jumpx/pressedDigit");
+ tmp = Opie::Core::OResource::loadPixmap("jumpx/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;
if ( x <= mod1x2 ) // mod1
{
pressedx = mod1x1;
pressedy = row * letterh;
pressedw = mod1w + 1;
pressedh = letterh + 1;
if ( row == 2 ) // return
{
pressed2x = mod2x1;
pressed2y = 2 * letterh;
pressed2w = mod2w + 1;
pressed2h = letterh + 1;
isnoncont = true;
}
else if ( row == 3 ) // alt
alt = 1;
else if ( row == 4 ) // ctrl
ctrl = 1;
pressedKeyUnicode = mod1Map[row].unicode;
pressedKeyQcode = mod1Map[row].qcode;
}
else if ( x >= letterx1 && x <= letterx2 ) // letter
{
int column = (x - letterx1 - 1) / letterw;
QChar temp;
if ( shift )
temp = QChar( letterMapShift[row][column] );
else
temp = QChar( letterMap[row][column] );
if ( temp == ' ' ) // space
{
if ( column < 3 )
{
pressedx = letterx1;
pressed2x = letterx1 + letterw * 4;
}
else
{
pressedx = letterx1 + letterw * 4;
pressed2x = letterx1;
}
pressedy = pressed2y = row * letterh;
pressedw = pressed2w = letterw * 2 + 1;
pressedh = pressed2h = letterh + 1;
isnoncont = true;
}
else
{
pressedx = letterx1 + column * letterw;
pressedy = row * letterh;
pressedw = letterw + 1;
pressedh = letterh + 1;
}
pressedKeyUnicode = temp.unicode();
pressedKeyQcode = slideKeyQcodeH = slideKeyQcodeV = temp.upper().unicode();
if ( temp == ' ' )
{
slideKeyUnicodeH = slideKeyUnicodeV = 8;
slideKeyQcodeH = slideKeyQcodeV = Qt::Key_Backspace;
}
else if ( temp == temp.lower() )
{
diff --git a/inputmethods/jumpx/opie-jumpx.control b/inputmethods/jumpx/opie-jumpx.control
index b8664cc..30771b1 100644
--- a/inputmethods/jumpx/opie-jumpx.control
+++ b/inputmethods/jumpx/opie-jumpx.control
@@ -1,11 +1,11 @@
Package: opie-jumpx
Files: plugins/inputmethods/libqjumpx.so* pics/jumpx
Priority: optional
Section: opie/inputmethods
Maintainer: Markus Gritsch <gritsch@iue.tuwien.ac.at>
Architecture: arm
-Depends: task-opie-minimal
+Depends: task-opie-minimal, libopiecore2
License: GPL
Description: JumpX input method
Keyboard-like input method for the Opie environment.
Version: $QPE_VERSION$EXTRAVERSION
diff --git a/inputmethods/kjumpx/config.in b/inputmethods/kjumpx/config.in
index 8ccef5b..0c4e9d4 100644
--- a/inputmethods/kjumpx/config.in
+++ b/inputmethods/kjumpx/config.in
@@ -1,4 +1,4 @@
config KJUMPX
boolean "opie-kjumpx (korean keyboard optimized for single finger/stylus input)"
default "y"
- depends ( LIBQPE || LIBQPE-X11 )
+ depends ( LIBQPE || LIBQPE-X11 ) && LIBOPIE2CORE
diff --git a/inputmethods/kjumpx/keyboard.cpp b/inputmethods/kjumpx/keyboard.cpp
index dc44805..4e99f40 100644
--- a/inputmethods/kjumpx/keyboard.cpp
+++ b/inputmethods/kjumpx/keyboard.cpp
@@ -1,270 +1,270 @@
/**************************************************************************************94x78**
**
** This file may be distributed and/or modified under the terms of the
** GNU General Public License version 2 as published by the Free Software
** Foundation and appearing in the file LICENSE.GPL included in the
** packaging of this file.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
**
*********************************************************************************************/
#include "keyboard.h"
-#include <qpe/resource.h>
+#include <opie2/oresource.h>
//#include <iostream.h>
static const int autorepeatDelaytime = 500; // ms
static const int autorepeatRate = 20; // chars per second
static const int mod1x1 = 0;
static const int mod1x2 = 23;
static const int mod1w = mod1x2 - mod1x1;
static const int letterx1 = 27;
static const int letterx2 = 129;
static const int letterw = 17;
static const int letterh = 14;
static const int num1x1 = 130;
static const int num1x2 = 137;
static const int num1w = num1x2 - num1x1;
static const int specialx1 = 138;
static const int specialx2 = 170;
static const int specialw = 16;
static const int num2x1 = 171;
static const int num2x2 = 178;
static const int num2w = num2x2 - num2x1;
static const int mod2x1 = 179;
static const int mod2x2 = 203;
static const int mod2w = mod2x2 - mod2x1;
static const int cursorx1 = 207;
static const int cursorw = 16;
static const int myParenID = -10;
typedef struct mapElement
{
int qcode;
ushort unicode;
};
static const mapElement mod1Map[] = {
{ Qt::Key_Escape, 27 },
{ Qt::Key_Tab, 9 },
{ Qt::Key_Return, 13 },
{ Qt::Key_Alt, 0 },
{ Qt::Key_Control, 0 },
};
static const uchar *const letterMap[] = {
(const uchar *const)"zvchwk",
(const uchar *const)"fitaly",
(const uchar *const)" ne ",
(const uchar *const)"gdorsb",
(const uchar *const)"qjumpx",
};
static const ushort kletterMap[][6] = {
{ 0x110c, 0x1112, 0x1109, 0x116d, 0x1167, 0x1163 },
{ 0x110f, 0x1105, 0x1100, 0x1161, 0x1175, 0x1162 },
{ ' ', ' ', 0x110b, 0x1165, ' ', ' ' },
{ 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");
+ releasedPlain = releasedShift = releasedParen = Opie::Core::OResource::loadPixmap("kjumpx/released");
+ pressedPlain = pressedShift = pressedParen = Opie::Core::OResource::loadPixmap("kjumpx/pressed");
+ pressedDigit = Opie::Core::OResource::loadPixmap("kjumpx/pressed");
QPixmap tmp;
- tmp = Resource::loadPixmap("kjumpx/releasedShift");
+ tmp = Opie::Core::OResource::loadPixmap("kjumpx/releasedShift");
bitBlt(&releasedShift, letterx1, 0, &tmp);
- tmp = Resource::loadPixmap("kjumpx/releasedParen");
+ tmp = Opie::Core::OResource::loadPixmap("kjumpx/releasedParen");
bitBlt(&releasedParen, specialx1, 0, &tmp);
- tmp = Resource::loadPixmap("kjumpx/pressedShift");
+ tmp = Opie::Core::OResource::loadPixmap("kjumpx/pressedShift");
bitBlt(&pressedShift, letterx1, 0, &tmp);
- tmp = Resource::loadPixmap("kjumpx/pressedParen");
+ tmp = Opie::Core::OResource::loadPixmap("kjumpx/pressedParen");
bitBlt(&pressedParen, specialx1, 0, &tmp);
- tmp = Resource::loadPixmap("kjumpx/pressedDigit");
+ tmp = Opie::Core::OResource::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;
if ( x <= mod1x2 ) // mod1
{
pressedx = mod1x1;
pressedy = row * letterh;
pressedw = mod1w + 1;
pressedh = letterh + 1;
if ( row == 2 ) // return
{
pressed2x = mod2x1;
pressed2y = 2 * letterh;
pressed2w = mod2w + 1;
pressed2h = letterh + 1;
isnoncont = true;
}
else if ( row == 3 ) // alt
alt = 1;
else if ( row == 4 ) // ctrl
ctrl = 1;
pressedKeyUnicode = mod1Map[row].unicode;
pressedKeyQcode = mod1Map[row].qcode;
}
else if ( x >= letterx1 && x <= letterx2 ) // letter
{
int column = (x - letterx1 - 1) / letterw;
QChar temp;
if (lang == 0) // english
if ( shift )
temp = QChar( letterMapShift[row][column] );
else
temp = QChar( letterMap[row][column] );
else if (lang == 1) // korean
if ( shift )
temp = parseKoreanInput( kletterMapShift[row][column] );
else
temp = parseKoreanInput( kletterMap[row][column] );
if ( temp == ' ' ) // space
{
if ( column < 3 )
{
pressedx = letterx1;
pressed2x = letterx1 + letterw * 4;
}
else
{
pressedx = letterx1 + letterw * 4;
pressed2x = letterx1;
}
pressedy = pressed2y = row * letterh;
pressedw = pressed2w = letterw * 2 + 1;
pressedh = pressed2h = letterh + 1;
isnoncont = true;
}
else
{
pressedx = letterx1 + column * letterw;
pressedy = row * letterh;
pressedw = letterw + 1;
pressedh = letterh + 1;
}
pressedKeyUnicode = temp.unicode();
pressedKeyQcode = slideKeyQcodeH = slideKeyQcodeV = temp.upper().unicode();
@@ -471,281 +471,281 @@ void Keyboard::mouseReleaseEvent(QMouseEvent*)
{
paren = 0;
releasedPix = &releasedPlain;
pressedPix = &pressedPlain;
bitBlt( &offscreen, 0, 0, releasedPix );
}
if ( alt && pressedKeyQcode != Qt::Key_Alt )
alt = 0;
if ( ctrl && pressedKeyQcode != Qt::Key_Control )
ctrl = 0;
bitBlt( &offscreen, pressedx, pressedy,
releasedPix, pressedx, pressedy, pressedw, pressedh );
if ( isnoncont )
{
isnoncont = false;
bitBlt( &offscreen, pressed2x, pressed2y,
releasedPix, pressed2x, pressed2y, pressed2w, pressed2h );
}
repaint( false );
}
void Keyboard::mouseMoveEvent(QMouseEvent *e)
{
if ( !enableMouseTracking )
return;
if ( e->x() < pressedx || e->x() >= pressedx + pressedw )
{
pressedKeyUnicode = slideKeyUnicodeH;
pressedKeyQcode = slideKeyQcodeH;
slidePix = slidePixH;
}
else if ( e->y() < pressedy || e->y() >= pressedy + pressedh )
{
pressedKeyUnicode = slideKeyUnicodeV;
pressedKeyQcode = slideKeyQcodeV;
slidePix = slidePixV;
}
else
return;
enableMouseTracking = false;
delayTimer->stop();
rateTimer->stop();
bitBlt( &offscreen, pressedx, pressedy,
slidePix, pressedx, pressedy, pressedw, pressedh );
emit key( 8, Qt::Key_Backspace, pressedMod, true, false );
emit key( pressedKeyUnicode, pressedKeyQcode, pressedMod, true, false );
delayTimer->start( autorepeatDelaytime, true );
repaint( false );
}
void Keyboard::delayTimerDone()
{
emit key( pressedKeyUnicode, pressedKeyQcode, pressedMod, true, true );
rateTimer->start( 1000/autorepeatRate, false );
}
void Keyboard::rateTimerDone()
{
emit key( pressedKeyUnicode, pressedKeyQcode, pressedMod, true, true );
}
QSize Keyboard::sizeHint() const
{
return offscreen.size();
}
void Keyboard::resetState()
{
//cout << "resetState()" << endl;
}
/*
*
* TODO
* one major problem with this implementation is that you can't move the
* cursor after inputing korean chars, otherwise it will eat up and replace
* the char before the cursor you move to. fix that
*
* make a kor/eng swaping key
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*
* how korean input works
*
* all following chars means unicode char value and are in hex
*
- * ÃÊÀ½ = schar (start char)
- * ÁßÀ½ = mchar (middle char)
- * ³¡À½ = echar (end char)
+ * �= = schar (start char)
+ * �= = mchar (middle char)
+ * = = echar (end char)
*
* there are 19 schars. unicode position is at 1100 - 1112
* there are 21 mchars. unicode position is at 1161 - 1175
* there are 27 echars. unicode position is at 11a8 - 11c2
*
* the map with everything combined is at ac00 - d7a3
*
* to find a combination of schar + mchar in the map, lookup
* ((schar - 0x1100) * 587) + ((mchar - 0x1161) * 27) + (echar - 0x11a8) + 0xac00)
*
*/
QChar Keyboard::parseKoreanInput (ushort c) {
static ushort schar, mchar, echar;
if ((lastKey < 0x1100 || 0x11c2 < lastKey) && (lastKey < 0xac00 || 0xd7a3 < lastKey)
&& !(lastKey == 0 && (shift || paren || ctrl || alt))) {
//printf ("reset...\n");
schar = 0, mchar = 0, echar = 0;
}
//printf ("in %x %x %x %x %x\n", schar, mchar, echar, c, lastKey);
if ( 0x1100 <= c && c <= 0x1112 ) { // schar or echar was input
if (schar == 0 || (schar != 0 && mchar == 0)) {
schar = c; mchar = 0; echar = 0;
return QChar(c);
}
else if (mchar != 0) {
if (echar == 0) {
if (!(echar = constoe(c))) {
schar = c; mchar = 0; echar = 0;
return QChar(c);
}
}
else { // must figure out what the echar is
- if (echar == 0x11a8) { // ¤¡
+ if (echar == 0x11a8) { //
- if (c == 0x1100) echar = 0x11a9; // ¤¡ + ¤¡
- else if (c == 0x1109) echar = 0x11aa; // ¤¡ + ¤µ
+ if (c == 0x1100) echar = 0x11a9; // +
+ else if (c == 0x1109) echar = 0x11aa; // +
else {
schar = c; mchar = 0; echar = 0;
return QChar(c);
}
- } else if (echar == 0x11ab) { // ¤¤
+ } else if (echar == 0x11ab) { //
- if (c == 0x110c) echar = 0x11ac; // ¤¤ + ¤¸
- else if (c == 0x1112) echar = 0x11ad; // ¤¤ + ¤¾
+ if (c == 0x110c) echar = 0x11ac; // +
+ else if (c == 0x1112) echar = 0x11ad; // +
else {
schar = c; mchar = 0; echar = 0;
return QChar(c);
}
- } else if (echar == 0x11af) { // ¤©
+ } else if (echar == 0x11af) { //
- if (c == 0x1100) echar = 0x11b0; // ¤© + ¤¡
- else if (c == 0x1106) echar = 0x11b1; // ¤© + ¤±
- else if (c == 0x1107) echar = 0x11b2; // ¤© + ¤²
- else if (c == 0x1109) echar = 0x11b3; // ¤© + ¤µ
- else if (c == 0x1110) echar = 0x11b4; // ¤© + ¤¼
- else if (c == 0x1111) echar = 0x11b5; // ¤© + ¤½
- else if (c == 0x1112) echar = 0x11b6; // ¤© + ¤¾
+ if (c == 0x1100) echar = 0x11b0; // +
+ else if (c == 0x1106) echar = 0x11b1; // +
+ else if (c == 0x1107) echar = 0x11b2; // +
+ else if (c == 0x1109) echar = 0x11b3; // +
+ else if (c == 0x1110) echar = 0x11b4; // +
+ else if (c == 0x1111) echar = 0x11b5; // +
+ else if (c == 0x1112) echar = 0x11b6; // +
else {
schar = c; mchar = 0; echar = 0;
return QChar(c);
}
- } else if (echar == 0x11b8) { // ¤²
+ } else if (echar == 0x11b8) { //
- if (c == 0x1109) echar = 0x11b9; // ¤² + ¤µ
+ if (c == 0x1109) echar = 0x11b9; // +
else {
schar = c; mchar = 0; echar = 0;
return QChar(c);
}
- } else if (echar == 0x11ba) { // ¤µ
+ } else if (echar == 0x11ba) { //
- if (c == 0x1109) echar = 0x11bb; // ¤µ + ¤µ
+ if (c == 0x1109) echar = 0x11bb; // +
else {
schar = c; mchar = 0; echar = 0;
return QChar(c);
}
} else { // if any other char, cannot combine chars
schar = c; mchar = 0; echar = 0;
return QChar(c);
}
lastKey = echar;
}
}
}
else if (0x1161 <= c && c <= 0x1175) { // mchar was input
if (schar != 0 && mchar == 0) { mchar = c; }
else if (schar != 0 && mchar != 0 && echar == 0) {
switch (mchar) {
case 0x1169:
if (c == 0x1161) mchar = 0x116a;
else if (c == 0x1162) mchar = 0x116b;
else if (c == 0x1175) mchar = 0x116c;
else {
schar = 0; mchar = 0; echar = 0;
return QChar(c);
}
break;
case 0x116e:
if (c == 0x1165) mchar = 0x116f;
else if (c == 0x1166) mchar = 0x1170;
else if (c == 0x1175) mchar = 0x1171;
else {
schar = 0; mchar = 0; echar = 0;
return QChar(c);
}
break;
case 0x1173:
if (c == 0x1175) mchar = 0x1174;
else {
schar = 0; mchar = 0; echar = 0;
return QChar(c);
}
break;
default:
schar = 0; mchar = 0; echar = 0;
return QChar(c);
}
}
else if (schar != 0 && mchar != 0 && echar != 0) {
emit key( 8, Qt::Key_Backspace, 0, true, false );
ushort prev = 0;
switch (echar) {
/*
case 0x11a9:
prev = combineKoreanChars(schar, mchar, 0x11a8);
schar = 0x1100;
break;
*/
case 0x11aa:
prev = combineKoreanChars(schar, mchar, 0x11a8);
schar = 0x1109;
break;
case 0x11ac:
prev = combineKoreanChars(schar, mchar, 0x11ab);
schar = 0x110c;
break;
case 0x11ad:
prev = combineKoreanChars(schar, mchar, 0x11ab);
schar = 0x1112;
break;
case 0x11b0:
prev = combineKoreanChars(schar, mchar, 0x11af);
schar = 0x1100;
break;
case 0x11b1:
prev = combineKoreanChars(schar, mchar, 0x11af);
schar = 0x1106;
break;
case 0x11b2:
prev = combineKoreanChars(schar, mchar, 0x11af);
schar = 0x1107;
break;
case 0x11b3:
prev = combineKoreanChars(schar, mchar, 0x11af);
schar = 0x1109;
break;
case 0x11b4:
prev = combineKoreanChars(schar, mchar, 0x11af);
schar = 0x1110;
diff --git a/inputmethods/kjumpx/kjumpx.pro b/inputmethods/kjumpx/kjumpx.pro
index 09e9bf1..0f708fd 100644
--- a/inputmethods/kjumpx/kjumpx.pro
+++ b/inputmethods/kjumpx/kjumpx.pro
@@ -1,15 +1,15 @@
TEMPLATE = lib
CONFIG += qt plugin warn_on release
HEADERS = keyboard.h \
keyboardimpl.h
SOURCES = keyboard.cpp \
keyboardimpl.cpp
TARGET = qkjumpx
DESTDIR = ../../plugins/inputmethods
INCLUDEPATH += $(OPIEDIR)/include
DEPENDPATH += $(OPIEDIR)/include
-LIBS += -lqpe
+LIBS += -lqpe -lopiecore2
VERSION = 1.0.0
include( $(OPIEDIR)/include.pro )
target.path = $$prefix/plugins/inputmethods
diff --git a/inputmethods/kjumpx/opie-kjumpx.control b/inputmethods/kjumpx/opie-kjumpx.control
index 3650812..a9d004e 100644
--- a/inputmethods/kjumpx/opie-kjumpx.control
+++ b/inputmethods/kjumpx/opie-kjumpx.control
@@ -1,11 +1,11 @@
Package: opie-kjumpx
Files: plugins/inputmethods/libqkjumpx.so* pics/kjumpx/*
Priority: optional
Section: opie/inputmethods
Maintainer: Jake Richardson <jake@asdfnews.org>
Architecture: arm
-Depends: task-opie-minimal
+Depends: task-opie-minimal, libopiecore2
License: GPL
Description: Koreanized JumpX input method
Keyboard-like input method for the Opie environment.
Version: $QPE_VERSION$EXTRAVERSION
diff --git a/inputmethods/multikey/config.in b/inputmethods/multikey/config.in
index 4eeb326..dd3192b 100644
--- a/inputmethods/multikey/config.in
+++ b/inputmethods/multikey/config.in
@@ -1,4 +1,4 @@
config MULTIKEY
boolean "opie-multikey (OnScreen keyboard for multiple languages)"
default "y"
- depends ( LIBQPE || LIBQPE-X11 ) && PICKBOARD && LIBQTAUX && LIBOPIE2UI
+ depends ( LIBQPE || LIBQPE-X11 ) && PICKBOARD && LIBQTAUX && LIBOPIE2CORE && LIBOPIE2UI
diff --git a/inputmethods/multikey/configdlg.cpp b/inputmethods/multikey/configdlg.cpp
index fe5051d..52c498b 100644
--- a/inputmethods/multikey/configdlg.cpp
+++ b/inputmethods/multikey/configdlg.cpp
@@ -1,168 +1,171 @@
/*
* TODO
* make a font selection thing (size too)
* make a keymap editor
* make keys translucent
* make vertical keys possible
*
*
*/
+#include <opie2/ofiledialog.h>
+#include <opie2/qcolordialog.h>
+#include <opie2/oresource.h>
+
#include <qpe/qpeapplication.h>
#include <qpe/config.h>
-#include <qpe/resource.h>
#include <qlayout.h>
#include <qwidget.h>
#include <qdialog.h>
#include <qtabwidget.h>
#include <qvbox.h>
#include <qgrid.h>
#include <qgroupbox.h>
#include <qlabel.h>
#include <qcheckbox.h>
#include <qsizepolicy.h>
#include <qpushbutton.h>
#include <qlistbox.h>
#include <qstringlist.h>
#include <qtoolbutton.h>
-#include <opie2/ofiledialog.h>
-#include <opie2/qcolordialog.h>
#include <qdir.h>
#include <qfileinfo.h>
#include "configdlg.h"
#include "keyboard.h"
using namespace Opie;
using namespace Opie::Ui;
// ConfigDlg::ConfigDlg() {{{1
ConfigDlg::ConfigDlg () : QDialog ()
{
setCaption( tr("Multikey Configuration") );
Config config ("multikey");
config.setGroup("keymaps");
QString current_map = config.readEntry("current", 0);
/*
* 'general config' tab
*/
QVBoxLayout *base_lay = new QVBoxLayout(this);
QTabWidget *tabs = new QTabWidget(this, "tabs");
QWidget *gen_box = new QWidget(tabs, "gen_tab");
QVBoxLayout *gen_lay = new QVBoxLayout(gen_box);
gen_lay->setMargin(3);
QGroupBox *map_group = new QGroupBox (2, Qt::Vertical, tr("Keymap File"), gen_box);
QHBox *hbox1 = new QHBox(map_group);
keymaps = new QListBox(hbox1);
keymaps->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding));
QVBox *vbox1 = new QVBox(hbox1);
QToolButton *tb1 = new QToolButton(vbox1, tr("Move Up"));
- tb1->setPixmap(Resource::loadPixmap("up"));
+ tb1->setUsesBigPixmap( qApp->desktop()->size().width() > 330 );
+ tb1->setPixmap(Opie::Core::OResource::loadPixmap("up", Opie::Core::OResource::SmallIcon));
tb1->setAutoRaise(TRUE);
tb1->setFocusPolicy(QWidget::NoFocus);
tb1->setToggleButton(FALSE);
connect(tb1, SIGNAL(clicked()), this, SLOT(moveSelectedUp()));
QToolButton *tb2 = new QToolButton(vbox1, tr("Move Down"));
- tb2->setPixmap(Resource::loadPixmap("down"));
+ tb2->setUsesBigPixmap( qApp->desktop()->size().width() > 330 );
+ tb2->setPixmap(Opie::Core::OResource::loadPixmap("down", Opie::Core::OResource::SmallIcon));
tb2->setAutoRaise(TRUE);
tb2->setFocusPolicy(QWidget::NoFocus);
tb2->setToggleButton(FALSE);
connect(tb2, SIGNAL(clicked()), this, SLOT(moveSelectedDown()));
QString cur(tr("Current Language"));
keymaps->insertItem(cur);
keymaps->setSelected(0, true);
QDir map_dir(QPEApplication::qpeDir() + "share/multikey", "*.keymap");
default_maps = map_dir.entryList(); // so i can access it in other places
custom_maps = config.readListEntry("maps", QChar('|'));
sw_maps = ConfigDlg::loadSw();
QStringList sw_copy(sw_maps);
for (uint i = 0; i < sw_copy.count(); i++) {
QString keymap_map;
if (sw_copy[i][0] != '/') { /* share/multikey */
keymap_map = map_dir.absPath() + "/" + sw_copy[i];
} else {
if (map_dir.exists(QFileInfo(sw_copy[i]).fileName(), false)
|| !QFile::exists(sw_copy[i])) {
custom_maps.remove(sw_copy[i]);
sw_maps.remove(sw_copy[i]);
// remove it from the list too
config.writeEntry("maps", custom_maps.join("|"));
continue;
}
keymap_map = sw_copy[i];
}
QFile map(keymap_map);
if (map.open(IO_ReadOnly)) {
QString line; bool found = 0;
map.readLine(line, 1024);
while (!map.atEnd()) {
if (line.find(QRegExp("^title\\s*=\\s*")) != -1) {
keymaps->insertItem(line.right(line.length() - line.find(QChar('=')) - 1).stripWhiteSpace());
found = 1;
break;
}
map.readLine(line, 1024);
}
if (!found)
keymaps->insertItem(keymap_map);
map.close();
}
if (keymap_map == current_map) {
keymaps->setSelected(i + 1, true);
}
}
// have to "+1" because the "current language" listItem... remember?
connect(keymaps, SIGNAL(highlighted(int)), SLOT(setMap(int)));
QGrid *add_remove_grid = new QGrid(2, map_group);
add_remove_grid->setMargin(3);
add_remove_grid->setSpacing(3);
add_button = new QPushButton(tr("Add"), add_remove_grid);
add_button->setFlat(TRUE);
connect(add_button, SIGNAL(clicked()), SLOT(addMap()));
remove_button = new QPushButton(tr("Remove"), add_remove_grid);
remove_button->setFlat(TRUE);
if (keymaps->currentItem() == 0 || default_maps.find(QFileInfo(current_map).fileName()) != default_maps.end())
remove_button->setDisabled(true);
connect(remove_button, SIGNAL(clicked()), SLOT(removeMap()));
gen_lay->addWidget(map_group);
// make a box that will contain the buttons on the bottom
QGrid *other_grid = new QGrid(2, gen_box);
pick_button = new QCheckBox(tr("Pickboard"), other_grid);
config.setGroup ("general");
bool pick_open = config.readBoolEntry ("usePickboard", FALSE); // default closed
if (pick_open) {
pick_button->setChecked(true);
}
repeat_button = new QCheckBox(tr("Key Repeat"), other_grid);
bool repeat_on = config.readBoolEntry ("useRepeat", TRUE);
diff --git a/inputmethods/multikey/multikey.pro b/inputmethods/multikey/multikey.pro
index 3fd621f..4ad1923 100644
--- a/inputmethods/multikey/multikey.pro
+++ b/inputmethods/multikey/multikey.pro
@@ -1,18 +1,18 @@
TEMPLATE = lib
CONFIG += qt plugin warn_on release
HEADERS = keyboard.h \
configdlg.h \
keyboardimpl.h
SOURCES = keyboard.cpp \
configdlg.cpp \
keyboardimpl.cpp
TARGET = qmultikey
DESTDIR = $(OPIEDIR)/plugins/inputmethods
INCLUDEPATH += $(OPIEDIR)/include
DEPENDPATH += ../../launcher
-LIBS += -lqpe -L$(OPIEDIR)/plugins/inputmethods -lqpickboard -lqtaux2 -lopieui2
+LIBS += -lqpe -L$(OPIEDIR)/plugins/inputmethods -lqpickboard -lqtaux2 -lopiecore2 -lopieui2
QMAKE_LFLAGS += -Wl,-rpath,/opt/QtPalmtop/plugins/inputmethods
VERSION = 1.0.0
include( $(OPIEDIR)/include.pro )
target.path = $$prefix/plugins/inputmethods
diff --git a/inputmethods/multikey/opie-multikey.control b/inputmethods/multikey/opie-multikey.control
index 5a5ce77..fc7d56c 100644
--- a/inputmethods/multikey/opie-multikey.control
+++ b/inputmethods/multikey/opie-multikey.control
@@ -1,10 +1,10 @@
Package: opie-multikey
Files: plugins/inputmethods/libqmultikey.so* share/multikey/*
Priority: optional
Section: opie/inputmethods
Maintainer: Jake Richardson (jake@asdfnews.org)
Architecture: arm
-Depends: task-opie-minimal, opie-pickboard, libqtaux2
+Depends: task-opie-minimal, opie-pickboard, libqtaux2, libopiecore2, libopieui2
Description: Multiple language keyboard
Keyboard for inputing multiple languages in the Opie environment.
Version: $QPE_VERSION$EXTRAVERSION