summaryrefslogtreecommitdiff
path: root/inputmethods/jumpx
authormark <mark>2002-02-04 22:53:18 (UTC)
committer mark <mark>2002-02-04 22:53:18 (UTC)
commitaf8212fa21bf4c747707ee314ba838b46bd8211d (patch) (unidiff)
treea907a3f80615c8ee931c158bae580f5e52042e61 /inputmethods/jumpx
parent61b7a750723422ad33332cbdbcb5294cc35a6326 (diff)
downloadopie-af8212fa21bf4c747707ee314ba838b46bd8211d.zip
opie-af8212fa21bf4c747707ee314ba838b46bd8211d.tar.gz
opie-af8212fa21bf4c747707ee314ba838b46bd8211d.tar.bz2
Importing qjumpx
Diffstat (limited to 'inputmethods/jumpx') (more/less context) (ignore whitespace changes)
-rw-r--r--inputmethods/jumpx/Makefile220
-rw-r--r--inputmethods/jumpx/Makefile.in121
-rw-r--r--inputmethods/jumpx/char10.pngbin0 -> 1117 bytes
-rw-r--r--inputmethods/jumpx/char11.pngbin0 -> 1362 bytes
-rw-r--r--inputmethods/jumpx/font.txt1
-rw-r--r--inputmethods/jumpx/icon.xpm18
-rw-r--r--inputmethods/jumpx/jumpx.pro12
-rw-r--r--inputmethods/jumpx/keyboard.cpp524
-rw-r--r--inputmethods/jumpx/keyboard.h71
-rw-r--r--inputmethods/jumpx/keyboard.obin0 -> 9848 bytes
-rw-r--r--inputmethods/jumpx/keyboardimpl.cpp97
-rw-r--r--inputmethods/jumpx/keyboardimpl.h43
-rw-r--r--inputmethods/jumpx/keyboardimpl.obin0 -> 4468 bytes
-rw-r--r--inputmethods/jumpx/layout12.pngbin0 -> 1939 bytes
-rw-r--r--inputmethods/jumpx/moc_keyboard.cpp177
-rw-r--r--inputmethods/jumpx/moc_keyboard.obin0 -> 12956 bytes
-rw-r--r--inputmethods/jumpx/opie-jumpx.control10
-rwxr-xr-xinputmethods/jumpx/opie-jumpx.postinst2
-rwxr-xr-xinputmethods/jumpx/opie-jumpx.postrm2
19 files changed, 1298 insertions, 0 deletions
diff --git a/inputmethods/jumpx/Makefile b/inputmethods/jumpx/Makefile
new file mode 100644
index 0000000..e053984
--- a/dev/null
+++ b/inputmethods/jumpx/Makefile
@@ -0,0 +1,220 @@
1#############################################################################
2# Automatically generated from Makefile.in
3# Build options from
4#############################################################################
5
6# Compiling
7 INTERFACE_DECL_PATH = .
8 SYSCONF_CXX = g++
9 SYSCONF_CC = gcc
10 DASHCROSS =
11
12# Compiling with support libraries
13 SYSCONF_CXXFLAGS_X11=
14 SYSCONF_CXXFLAGS_QT= -I$(QTDIR)/include
15 SYSCONF_CXXFLAGS_OPENGL= -I/usr/X11R6/include
16
17# Compiling YACC output
18SYSCONF_CXXFLAGS_YACC = -Wno-unused -Wno-parentheses
19
20# Linking with support libraries
21 SYSCONF_RPATH_X11=
22 SYSCONF_RPATH_QT= -Wl,-rpath,$(QTDIR)/lib
23 SYSCONF_RPATH_OPENGL= -Wl,-rpath,/usr/X11R6/lib
24
25# Linking with support libraries
26# X11
27 SYSCONF_LFLAGS_X11=
28 SYSCONF_LIBS_X11=
29# Qt, Qt+OpenGL
30 SYSCONF_LFLAGS_QT= -L$(QTDIR)/lib
31 SYSCONF_LIBS_QT = -lqte$(QT_THREAD_SUFFIX)
32 SYSCONF_LIBS_QT_OPENGL=
33# OpenGL
34 SYSCONF_LFLAGS_OPENGL= -L/usr/X11R6/lib
35 SYSCONF_LIBS_OPENGL=
36# Yacc
37 SYSCONF_LIBS_YACC=
38
39# Linking applications
40 SYSCONF_LINK = gcc
41 SYSCONF_LFLAGS =
42 SYSCONF_LIBS =
43
44# Link flags for shared objects
45 SYSCONF_LFLAGS_SHOBJ= -shared
46
47# Flags for threading
48 SYSCONF_CFLAGS_THREAD= -D_REENTRANT
49 SYSCONF_CXXFLAGS_THREAD= -D_REENTRANT
50 SYSCONF_LFLAGS_THREAD=
51 SYSCONF_LIBS_THREAD= -lpthread
52
53# Meta-object compiler
54 SYSCONF_MOC = $(QTDIR)/bin/moc
55
56# UI compiler
57 SYSCONF_UIC = $(QTDIR)/bin/uic
58
59# Linking shared libraries
60# - Build the $(TARGET) library, eg. lib$(TARGET).so.2.2.2
61# - Place target in $(DESTDIR) - which has a trailing /
62# - Usually needs to incorporate $(VER_MAJ), $(VER_MIN) and $(VER_PATCH)
63#
64 SYSCONF_LINK_SHLIB= gcc
65 SYSCONF_LINK_TARGET_SHARED= lib$(TARGET).so.$(VER_MAJ).$(VER_MIN).$(VER_PATCH)
66 SYSCONF_LINK_LIB_SHARED= $(SYSCONF_LINK_SHLIB) -shared -Wl,-soname,lib$(TARGET).so.$(VER_MAJ) \
67 $(LFLAGS) -o $(SYSCONF_LINK_TARGET_SHARED) \
68 $(OBJECTS) $(OBJMOC) $(LIBS) && \
69 mv $(SYSCONF_LINK_TARGET_SHARED) $(DESTDIR); \
70 cd $(DESTDIR) && \
71 rm -f lib$(TARGET).so lib$(TARGET).so.$(VER_MAJ) lib$(TARGET).so.$(VER_MAJ).$(VER_MIN); \
72 ln -s $(SYSCONF_LINK_TARGET_SHARED) lib$(TARGET).so; \
73 ln -s $(SYSCONF_LINK_TARGET_SHARED) lib$(TARGET).so.$(VER_MAJ); \
74 ln -s $(SYSCONF_LINK_TARGET_SHARED) lib$(TARGET).so.$(VER_MAJ).$(VER_MIN)
75
76# Linking static libraries
77# - Build the $(TARGET) library, eg. lib$(TARGET).a
78# - Place target in $(DESTDIR) - which has a trailing /
79#
80 SYSCONF_AR = ar cqs
81SYSCONF_LINK_TARGET_STATIC = lib$(TARGET).a
82 SYSCONF_LINK_LIB_STATIC= rm -f $(DESTDIR)$(SYSCONF_LINK_TARGET_STATIC) ; \
83 $(SYSCONF_AR) $(DESTDIR)$(SYSCONF_LINK_TARGET_STATIC) $(OBJECTS) $(OBJMOC)
84# Compiling application source
85 SYSCONF_CXXFLAGS= -pipe -DQWS -fno-exceptions -fno-rtti -O2 -Wall -W
86 SYSCONF_CFLAGS = -pipe -O2 -Wall -W
87# Default link type (static linking is still be used where required)
88 SYSCONF_LINK_LIB= $(SYSCONF_LINK_LIB_SHARED)
89 SYSCONF_LINK_TARGET= $(SYSCONF_LINK_TARGET_SHARED)
90# Compiling library source
91 SYSCONF_CXXFLAGS_LIB= -fPIC
92 SYSCONF_CFLAGS_LIB= -fPIC
93# Compiling shared-object source
94 SYSCONF_CXXFLAGS_SHOBJ= -fPIC
95 SYSCONF_CFLAGS_SHOBJ= -fPIC
96# Linking Qt
97 SYSCONF_LIBS_QTLIB= $(SYSCONF_LFLAGS_X11) $(QT_LIBS_MT) $(QT_LIBS_OPT)
98# Linking Qt applications
99 SYSCONF_LIBS_QTAPP=
100#############################################################################
101
102####### Compiler, tools and options
103
104 CXX =$(SYSCONF_CXX) $(QT_CXX_MT)
105 CXXFLAGS=$(SYSCONF_CXXFLAGS_QT) $(SYSCONF_CXXFLAGS) $(SYSCONF_CXXFLAGS_LIB)
106 CC =$(SYSCONF_CC) $(QT_C_MT)
107 CFLAGS =$(SYSCONF_CFLAGS) $(SYSCONF_CFLAGS_LIB)
108 INCPATH =-I../../include
109 LFLAGS =$(SYSCONF_LFLAGS_QT) $(SYSCONF_RPATH_QT) $(SYSCONF_LFLAGS) $(QT_LFLAGS_MT)
110 LIBS =$(SUBLIBS) -lqpe $(SYSCONF_LIBS_QT) $(SYSCONF_LIBS_QTAPP)
111 MOC =$(SYSCONF_MOC)
112 UIC =$(SYSCONF_UIC)
113
114####### Target
115
116DESTDIR = ../../plugins/inputmethods/
117VER_MAJ = 1
118VER_MIN = 0
119VER_PATCH = 0
120 TARGET= qjumpx
121TARGET1 = lib$(TARGET).so.$(VER_MAJ)
122
123####### Files
124
125 HEADERS =keyboard.h \
126 keyboardimpl.h
127 SOURCES =keyboard.cpp \
128 keyboardimpl.cpp
129 OBJECTS =keyboard.o \
130 keyboardimpl.o
131INTERFACES =
132UICDECLS =
133UICIMPLS =
134 SRCMOC =moc_keyboard.cpp
135 OBJMOC =moc_keyboard.o
136
137
138####### Implicit rules
139
140.SUFFIXES: .cpp .cxx .cc .C .c
141
142.cpp.o:
143 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
144
145.cxx.o:
146 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
147
148.cc.o:
149 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
150
151.C.o:
152 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
153
154.c.o:
155 $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $<
156
157####### Build rules
158
159
160all: $(DESTDIR)$(SYSCONF_LINK_TARGET)
161
162$(DESTDIR)$(SYSCONF_LINK_TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) $(SUBLIBS)
163 $(SYSCONF_LINK_LIB)
164
165moc: $(SRCMOC)
166
167tmake: Makefile.in
168
169Makefile.in: jumpx.pro
170 tmake jumpx.pro -o Makefile.in
171
172clean:
173 -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS)
174 -rm -f *~ core
175 -rm -f allmoc.cpp
176
177####### Extension Modules
178
179listpromodules:
180 @echo
181
182listallmodules:
183 @echo
184
185listaddonpromodules:
186 @echo
187
188listaddonentmodules:
189 @echo
190
191
192REQUIRES=
193
194####### Sub-libraries
195
196
197###### Combined headers
198
199
200
201####### Compile
202
203keyboard.o: keyboard.cpp \
204 keyboard.h \
205 ../../include/qpe/resource.h
206
207keyboardimpl.o: keyboardimpl.cpp \
208 keyboard.h \
209 keyboardimpl.h \
210 ../../include/qpe/inputmethodinterface.h \
211 ../../include/qpe/qcom.h \
212 ../../include/qpe/quuid.h
213
214moc_keyboard.o: moc_keyboard.cpp \
215 keyboard.h
216
217moc_keyboard.cpp: keyboard.h
218 $(MOC) keyboard.h -o moc_keyboard.cpp
219
220
diff --git a/inputmethods/jumpx/Makefile.in b/inputmethods/jumpx/Makefile.in
new file mode 100644
index 0000000..b6347d5
--- a/dev/null
+++ b/inputmethods/jumpx/Makefile.in
@@ -0,0 +1,121 @@
1#############################################################################
2
3####### Compiler, tools and options
4
5 CXX =$(SYSCONF_CXX) $(QT_CXX_MT)
6 CXXFLAGS=$(SYSCONF_CXXFLAGS_QT) $(SYSCONF_CXXFLAGS) $(SYSCONF_CXXFLAGS_LIB)
7 CC =$(SYSCONF_CC) $(QT_C_MT)
8 CFLAGS =$(SYSCONF_CFLAGS) $(SYSCONF_CFLAGS_LIB)
9 INCPATH =-I../../include
10 LFLAGS =$(SYSCONF_LFLAGS_QT) $(SYSCONF_RPATH_QT) $(SYSCONF_LFLAGS) $(QT_LFLAGS_MT)
11 LIBS =$(SUBLIBS) -lqpe $(SYSCONF_LIBS_QT) $(SYSCONF_LIBS_QTAPP)
12 MOC =$(SYSCONF_MOC)
13 UIC =$(SYSCONF_UIC)
14
15####### Target
16
17DESTDIR = ../../plugins/inputmethods/
18VER_MAJ = 1
19VER_MIN = 0
20VER_PATCH = 0
21 TARGET= qjumpx
22TARGET1 = lib$(TARGET).so.$(VER_MAJ)
23
24####### Files
25
26 HEADERS =keyboard.h \
27 keyboardimpl.h
28 SOURCES =keyboard.cpp \
29 keyboardimpl.cpp
30 OBJECTS =keyboard.o \
31 keyboardimpl.o
32INTERFACES =
33UICDECLS =
34UICIMPLS =
35 SRCMOC =moc_keyboard.cpp
36 OBJMOC =moc_keyboard.o
37
38
39####### Implicit rules
40
41.SUFFIXES: .cpp .cxx .cc .C .c
42
43.cpp.o:
44 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
45
46.cxx.o:
47 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
48
49.cc.o:
50 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
51
52.C.o:
53 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
54
55.c.o:
56 $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $<
57
58####### Build rules
59
60
61all: $(DESTDIR)$(SYSCONF_LINK_TARGET)
62
63$(DESTDIR)$(SYSCONF_LINK_TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) $(SUBLIBS)
64 $(SYSCONF_LINK_LIB)
65
66moc: $(SRCMOC)
67
68tmake: Makefile.in
69
70Makefile.in: jumpx.pro
71 tmake jumpx.pro -o Makefile.in
72
73clean:
74 -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS)
75 -rm -f *~ core
76 -rm -f allmoc.cpp
77
78####### Extension Modules
79
80listpromodules:
81 @echo
82
83listallmodules:
84 @echo
85
86listaddonpromodules:
87 @echo
88
89listaddonentmodules:
90 @echo
91
92
93REQUIRES=
94
95####### Sub-libraries
96
97
98###### Combined headers
99
100
101
102####### Compile
103
104keyboard.o: keyboard.cpp \
105 keyboard.h \
106 ../../include/qpe/resource.h
107
108keyboardimpl.o: keyboardimpl.cpp \
109 keyboard.h \
110 keyboardimpl.h \
111 ../../include/qpe/inputmethodinterface.h \
112 ../../include/qpe/qcom.h \
113 ../../include/qpe/quuid.h
114
115moc_keyboard.o: moc_keyboard.cpp \
116 keyboard.h
117
118moc_keyboard.cpp: keyboard.h
119 $(MOC) keyboard.h -o moc_keyboard.cpp
120
121
diff --git a/inputmethods/jumpx/char10.png b/inputmethods/jumpx/char10.png
new file mode 100644
index 0000000..f2fdefa
--- a/dev/null
+++ b/inputmethods/jumpx/char10.png
Binary files differ
diff --git a/inputmethods/jumpx/char11.png b/inputmethods/jumpx/char11.png
new file mode 100644
index 0000000..df15c5f
--- a/dev/null
+++ b/inputmethods/jumpx/char11.png
Binary files differ
diff --git a/inputmethods/jumpx/font.txt b/inputmethods/jumpx/font.txt
new file mode 100644
index 0000000..4c195f7
--- a/dev/null
+++ b/inputmethods/jumpx/font.txt
@@ -0,0 +1 @@
abcdefghijklmnopqrtsuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ -+*!:'.%/$ _=#?;",|\& ()[]{}<>@~ \ No newline at end of file
diff --git a/inputmethods/jumpx/icon.xpm b/inputmethods/jumpx/icon.xpm
new file mode 100644
index 0000000..7ee793e
--- a/dev/null
+++ b/inputmethods/jumpx/icon.xpm
@@ -0,0 +1,18 @@
1/* XPM */
2static char * icon_xpm[] = {
3"26 13 2 1",
4 " c None",
5 ".c #000000",
6" ... ... ... ... ... ... ",
7". . . . . . . ",
8". . . . . . . ",
9". . . . . . . ",
10" ....... ... ... ....... ",
11". . . . . ",
12". . . . . ",
13". . . . . ",
14" ....... ... ... ....... ",
15". . . . . . . ",
16". . . . . . . ",
17". . . . . . . ",
18" ... ... ... ... ... ... "};
diff --git a/inputmethods/jumpx/jumpx.pro b/inputmethods/jumpx/jumpx.pro
new file mode 100644
index 0000000..433a798
--- a/dev/null
+++ b/inputmethods/jumpx/jumpx.pro
@@ -0,0 +1,12 @@
1TEMPLATE = lib
2CONFIG += qt warn_on release
3HEADERS = keyboard.h \
4 keyboardimpl.h
5SOURCES = keyboard.cpp \
6 keyboardimpl.cpp
7TARGET = qjumpx
8DESTDIR = ../../plugins/inputmethods
9INCLUDEPATH += ../../include/qpe
10DEPENDPATH += ../../include/qpe
11LIBS += -lqpe
12VERSION = 1.0.0
diff --git a/inputmethods/jumpx/keyboard.cpp b/inputmethods/jumpx/keyboard.cpp
new file mode 100644
index 0000000..0b8fc14
--- a/dev/null
+++ b/inputmethods/jumpx/keyboard.cpp
@@ -0,0 +1,524 @@
1/**************************************************************************************94x78**
2**
3** This file may be distributed and/or modified under the terms of the
4** GNU General Public License version 2 as published by the Free Software
5** Foundation and appearing in the file LICENSE.GPL included in the
6** packaging of this file.
7**
8** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
9** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
10**
11*********************************************************************************************/
12#include "keyboard.h"
13
14#include <qpe/resource.h>
15
16//#include <iostream.h>
17
18
19static const int autorepeatDelaytime = 500; // ms
20static const int autorepeatRate = 20; // chars per second
21
22static const int mod1x1 = 0;
23static const int mod1x2 = 23;
24static const int mod1w = mod1x2 - mod1x1;
25
26static const int letterx1 = 27;
27static const int letterx2 = 129;
28static const int letterw = 17;
29static const int letterh = 14;
30
31static const int num1x1 = 130;
32static const int num1x2 = 137;
33static const int num1w = num1x2 - num1x1;
34
35static const int specialx1 = 138;
36static const int specialx2 = 170;
37static const int specialw = 16;
38
39static const int num2x1 = 171;
40static const int num2x2 = 178;
41static const int num2w = num2x2 - num2x1;
42
43static const int mod2x1 = 179;
44static const int mod2x2 = 203;
45static const int mod2w = mod2x2 - mod2x1;
46
47static const int cursorx1 = 207;
48static const int cursorw = 16;
49
50static const int myParenID = -10;
51
52
53typedef struct mapElement
54{
55 int qcode;
56 ushort unicode;
57};
58
59static const mapElement mod1Map[] = {
60 { Qt::Key_Escape, 27 },
61 { Qt::Key_Tab, 9 },
62 { Qt::Key_Return, 13 },
63 { Qt::Key_Alt, 0 },
64 { Qt::Key_Control, 0 },
65};
66
67static const uchar *const letterMap[] = {
68 (const uchar *const)"zvchwk",
69 (const uchar *const)"fitaly",
70 (const uchar *const)" ne ",
71 (const uchar *const)"gdorsb",
72 (const uchar *const)"qjumpx",
73};
74
75static const uchar *const letterMapShift[] = {
76 (const uchar *const)"ZVCHWK",
77 (const uchar *const)"FITALY",
78 (const uchar *const)" NE ",
79 (const uchar *const)"GDORSB",
80 (const uchar *const)"QJUMPX",
81};
82
83static const uchar *const num1Map = (const uchar *const)"12345";
84
85static const uchar *const specialMap[] = {
86 (const uchar *const)"-+",
87 (const uchar *const)"*!",
88 (const uchar *const)",'",
89 (const uchar *const)".%",
90 (const uchar *const)"/$",
91};
92
93static const uchar *const specialMapShift[] = {
94 (const uchar *const)"_=",
95 (const uchar *const)"#?",
96 (const uchar *const)";\"",
97 (const uchar *const)":|",
98 (const uchar *const)"\\&",
99};
100
101static const uchar *const specialMapParen[] = {
102 (const uchar *const)"()",
103 (const uchar *const)"[]",
104 (const uchar *const)"{}",
105 (const uchar *const)"<>",
106 (const uchar *const)"@~",
107};
108
109static const uchar *const num2Map = (const uchar *const)"67890";
110
111static const mapElement mod2Map[] = {
112 { Qt::Key_Backspace, 8 },
113 { Qt::Key_Delete, 0 },
114 { Qt::Key_Return, 13 },
115 { Qt::Key_Shift, 0 },
116 { myParenID, 0 },
117};
118
119static const int cursorMap[][2] = {
120 { Qt::Key_Home, Qt::Key_PageUp },
121 { Qt::Key_End, Qt::Key_PageDown },
122 { Qt::Key_Up, Qt::Key_Up },
123 { Qt::Key_Left, Qt::Key_Right },
124 { Qt::Key_Down, Qt::Key_Down },
125};
126
127
128Keyboard::Keyboard(QWidget* parent, const char* name, WFlags f) :
129 QFrame(parent, name, f),
130 shift(0), paren(0), ctrl(0), alt(0),
131 pressedKeyUnicode(0), pressedKeyQcode(0), pressedMod(0),
132 isnoncont(false),
133 slideKeyUnicodeH(0), slideKeyQcodeH(0), slideKeyUnicodeV(0), slideKeyQcodeV(0),
134 enableMouseTracking(false), slidePix(NULL), slidePixH(NULL), slidePixV(NULL),
135 releasedPix(NULL), pressedPix(NULL)
136{
137 //setPalette(QPalette(QColor(240,240,230))); // Beige!
138
139 releasedPlain = releasedShift = releasedParen = Resource::loadPixmap("jumpx/released");
140 pressedPlain = pressedShift = pressedParen = Resource::loadPixmap("jumpx/pressed");
141 pressedDigit = Resource::loadPixmap("jumpx/pressed");
142
143 QPixmap tmp;
144
145 tmp = Resource::loadPixmap("jumpx/releasedShift");
146 bitBlt(&releasedShift, letterx1, 0, &tmp);
147
148 tmp = Resource::loadPixmap("jumpx/releasedParen");
149 bitBlt(&releasedParen, specialx1, 0, &tmp);
150
151 tmp = Resource::loadPixmap("jumpx/pressedShift");
152 bitBlt(&pressedShift, letterx1, 0, &tmp);
153
154 tmp = Resource::loadPixmap("jumpx/pressedParen");
155 bitBlt(&pressedParen, specialx1, 0, &tmp);
156
157 tmp = Resource::loadPixmap("jumpx/pressedDigit");
158 bitBlt(&pressedDigit, specialx1, 0, &tmp);
159
160 offscreen = QPixmap( releasedPlain );
161
162 releasedPix = &releasedPlain;
163 pressedPix = &pressedPlain;
164 slidePix = &pressedPlain;
165
166 delayTimer = new QTimer(this);
167 rateTimer = new QTimer(this);
168 connect( delayTimer, SIGNAL( timeout() ), this, SLOT( delayTimerDone() ) );
169 connect( rateTimer, SIGNAL( timeout() ), this, SLOT( rateTimerDone() ) );
170}
171
172void Keyboard::resizeEvent(QResizeEvent*)
173{
174 //cout << "resizeEvent()" << endl;
175}
176
177void Keyboard::paintEvent(QPaintEvent*)
178{
179 bitBlt(this, 0, 0, &offscreen);
180}
181
182void Keyboard::mousePressEvent(QMouseEvent *e)
183{
184 pressedx = -1;
185 pressedKeyUnicode = pressedKeyQcode = pressedMod = 0;
186
187 int x = e->x();
188 int y = e->y();
189
190 int row = (y - 1) / letterh;
191
192 if ( x <= mod1x2 ) // mod1
193 {
194 pressedx = mod1x1;
195 pressedy = row * letterh;
196 pressedw = mod1w + 1;
197 pressedh = letterh + 1;
198 if ( row == 2 ) // return
199 {
200 pressed2x = mod2x1;
201 pressed2y = 2 * letterh;
202 pressed2w = mod2w + 1;
203 pressed2h = letterh + 1;
204 isnoncont = true;
205 }
206 else if ( row == 3 ) // alt
207 alt = 1;
208 else if ( row == 4 ) // ctrl
209 ctrl = 1;
210 pressedKeyUnicode = mod1Map[row].unicode;
211 pressedKeyQcode = mod1Map[row].qcode;
212 }
213 else if ( x >= letterx1 && x <= letterx2 ) // letter
214 {
215 int column = (x - letterx1 - 1) / letterw;
216 QChar temp;
217 if ( shift )
218 temp = QChar( letterMapShift[row][column] );
219 else
220 temp = QChar( letterMap[row][column] );
221 if ( temp == ' ' ) // space
222 {
223 if ( column < 3 )
224 {
225 pressedx = letterx1;
226 pressed2x = letterx1 + letterw * 4;
227 }
228 else
229 {
230 pressedx = letterx1 + letterw * 4;
231 pressed2x = letterx1;
232 }
233 pressedy = pressed2y = row * letterh;
234 pressedw = pressed2w = letterw * 2 + 1;
235 pressedh = pressed2h = letterh + 1;
236 isnoncont = true;
237 }
238 else
239 {
240 pressedx = letterx1 + column * letterw;
241 pressedy = row * letterh;
242 pressedw = letterw + 1;
243 pressedh = letterh + 1;
244 }
245 pressedKeyUnicode = temp.unicode();
246 pressedKeyQcode = slideKeyQcodeH = slideKeyQcodeV = temp.upper().unicode();
247 if ( temp == ' ' )
248 {
249 slideKeyUnicodeH = slideKeyUnicodeV = 8;
250 slideKeyQcodeH = slideKeyQcodeV = Qt::Key_Backspace;
251 }
252 else if ( temp == temp.lower() )
253 {
254 slideKeyUnicodeH = slideKeyUnicodeV = temp.upper().unicode();
255 slidePixH = slidePixV = &pressedShift;
256 }
257 else
258 {
259 slideKeyUnicodeH = slideKeyUnicodeV = temp.lower().unicode();
260 slidePixH = slidePixV = &pressedPlain;
261 }
262 enableMouseTracking = true;
263 }
264 else if ( x >= num1x1 && x <= num1x2 ) // num1
265 {
266 pressedx = num1x1;
267 pressedy = row * letterh;
268 pressedw = num1w + 1;
269 pressedh = letterh + 1;
270 QChar temp = QChar( num1Map[row] );
271 pressedKeyUnicode = pressedKeyQcode = temp.unicode();
272 }
273 else if ( x >= specialx1 && x <= specialx2 ) // special
274 {
275 int column = (x - specialx1 - 1) / specialw;
276 pressedx = specialx1 + column * specialw;
277 pressedy = row * letterh;
278 pressedw = specialw + 1;
279 pressedh = letterh + 1;
280 QChar temp;
281 if ( shift )
282 temp = QChar( specialMapShift[row][column] );
283 else if ( paren )
284 temp = QChar( specialMapParen[row][column] );
285 else
286 temp = QChar( specialMap[row][column] );
287 pressedKeyUnicode = pressedKeyQcode = temp.unicode();
288 slideKeyUnicodeH = slideKeyQcodeH = slideKeyUnicodeV = slideKeyQcodeV =
289 QChar('0').unicode() + ( 5 * column + row + 1 ) % 10;
290 slidePixH = slidePixV = &pressedDigit;
291 if ( shift )
292 {
293 slideKeyUnicodeV = slideKeyQcodeV =
294 QChar( specialMap[row][column] ).unicode();
295 slidePixV = &pressedPlain;
296 }
297 else if ( !(shift || paren) )
298 {
299 slideKeyUnicodeV = slideKeyQcodeV =
300 QChar( specialMapShift[row][column] ).unicode();
301 slidePixV = &pressedShift;
302 }
303 enableMouseTracking = true;
304 }
305 else if ( x >= num2x1 && x <= num2x2 ) // num2
306 {
307 pressedx = num2x1;
308 pressedy = row * letterh;
309 pressedw = num2w + 1;
310 pressedh = letterh + 1;
311 QChar temp = QChar( num2Map[row] );
312 pressedKeyUnicode = pressedKeyQcode = temp.unicode();
313 }
314 else if ( x >= mod2x1 && x <= mod2x2 ) // mod2
315 {
316 pressedx = mod2x1;
317 pressedy = row * letterh;
318 pressedw = mod2w + 1;
319 pressedh = letterh + 1;
320 if ( row == 2 ) // return
321 {
322 pressed2x = mod1x1;
323 pressed2y = 2 * letterh;
324 pressed2w = mod2w + 1;
325 pressed2h = letterh + 1;
326 isnoncont = true;
327 }
328 pressedKeyUnicode = mod2Map[row].unicode;
329 pressedKeyQcode = mod2Map[row].qcode;
330
331 if ( row == 3 ) // shift
332 {
333 paren = 0;
334 switch ( shift )
335 {
336 case 0:
337 {
338 shift = 1;
339 releasedPix = &releasedShift;
340 pressedPix = &pressedShift;
341 bitBlt( &offscreen, 0, 0, releasedPix );
342 break;
343 }
344 case 1:
345 {
346 shift = 2;
347 break;
348 }
349 case 2:
350 {
351 shift = 0;
352 releasedPix = &releasedPlain;
353 pressedPix = &pressedPlain;
354 bitBlt( &offscreen, 0, 0, releasedPix );
355 break;
356 }
357 }
358 }
359 else if ( row == 4 ) // parenthesis
360 {
361 shift = 0;
362 switch ( paren )
363 {
364 case 0:
365 {
366 paren = 1;
367 releasedPix = &releasedParen;
368 pressedPix = &pressedParen;
369 bitBlt( &offscreen, 0, 0, releasedPix );
370 break;
371 }
372 case 1:
373 {
374 paren = 2;
375 break;
376 }
377 case 2:
378 {
379 paren = 0;
380 releasedPix = &releasedPlain;
381 pressedPix = &pressedPlain;
382 bitBlt( &offscreen, 0, 0, releasedPix );
383 break;
384 }
385 }
386 }
387 }
388 else if ( x >= cursorx1 ) // cursor
389 {
390 int column = (x - cursorx1 - 1) / cursorw;
391 if ( row == 2 || row == 4 )
392 pressedx = cursorx1 + cursorw / 2;
393 else
394 pressedx = cursorx1 + column * cursorw;
395 pressedy = row * letterh;
396 pressedw = cursorw + 1;
397 pressedh = letterh + 1;
398 pressedKeyQcode = cursorMap[row][column];
399 }
400
401 pressedMod = ( shift ? Qt::ShiftButton : 0 ) |
402 ( ctrl ? Qt::ControlButton : 0 ) |
403 ( alt ? Qt::AltButton : 0 );
404
405 emit key( pressedKeyUnicode, pressedKeyQcode, pressedMod, true, false );
406 delayTimer->start( autorepeatDelaytime, true );
407
408 if ( pressedx == -1 )
409 return;
410
411 bitBlt( &offscreen, pressedx, pressedy,
412 pressedPix, pressedx, pressedy, pressedw, pressedh );
413 if ( isnoncont )
414 bitBlt( &offscreen, pressed2x, pressed2y,
415 pressedPix, pressed2x, pressed2y, pressed2w, pressed2h );
416
417 repaint( false );
418}
419
420void Keyboard::mouseReleaseEvent(QMouseEvent*)
421{
422 //cout << pressedx << " " << pressedy << " " << pressedw << " " << pressedh << endl;
423
424 delayTimer->stop();
425 rateTimer->stop();
426 enableMouseTracking = false;
427
428 if ( pressedx == -1 )
429 return;
430
431 if ( shift == 2 && pressedKeyQcode == Qt::Key_Shift )
432 return;
433 if ( paren == 2 && pressedKeyQcode == myParenID )
434 return;
435
436 if ( shift == 1 && pressedKeyQcode != Qt::Key_Shift )
437 {
438 shift = 0;
439 releasedPix = &releasedPlain;
440 pressedPix = &pressedPlain;
441 bitBlt( &offscreen, 0, 0, releasedPix );
442 }
443
444 if ( paren == 1 && pressedKeyQcode != myParenID )
445 {
446 paren = 0;
447 releasedPix = &releasedPlain;
448 pressedPix = &pressedPlain;
449 bitBlt( &offscreen, 0, 0, releasedPix );
450 }
451
452 if ( alt && pressedKeyQcode != Qt::Key_Alt )
453 alt = 0;
454 if ( ctrl && pressedKeyQcode != Qt::Key_Control )
455 ctrl = 0;
456
457 bitBlt( &offscreen, pressedx, pressedy,
458 releasedPix, pressedx, pressedy, pressedw, pressedh );
459
460 if ( isnoncont )
461 {
462 isnoncont = false;
463 bitBlt( &offscreen, pressed2x, pressed2y,
464 releasedPix, pressed2x, pressed2y, pressed2w, pressed2h );
465 }
466
467 repaint( false );
468}
469
470void Keyboard::mouseMoveEvent(QMouseEvent *e)
471{
472 if ( !enableMouseTracking )
473 return;
474
475 if ( e->x() < pressedx || e->x() >= pressedx + pressedw )
476 {
477 pressedKeyUnicode = slideKeyUnicodeH;
478 pressedKeyQcode = slideKeyQcodeH;
479 slidePix = slidePixH;
480 }
481 else if ( e->y() < pressedy || e->y() >= pressedy + pressedh )
482 {
483 pressedKeyUnicode = slideKeyUnicodeV;
484 pressedKeyQcode = slideKeyQcodeV;
485 slidePix = slidePixV;
486 }
487 else
488 return;
489
490 enableMouseTracking = false;
491
492 delayTimer->stop();
493 rateTimer->stop();
494
495 bitBlt( &offscreen, pressedx, pressedy,
496 slidePix, pressedx, pressedy, pressedw, pressedh );
497
498 emit key( 8, Qt::Key_Backspace, pressedMod, true, false );
499 emit key( pressedKeyUnicode, pressedKeyQcode, pressedMod, true, false );
500 delayTimer->start( autorepeatDelaytime, true );
501
502 repaint( false );
503}
504
505void Keyboard::delayTimerDone()
506{
507 emit key( pressedKeyUnicode, pressedKeyQcode, pressedMod, true, true );
508 rateTimer->start( 1000/autorepeatRate, false );
509}
510
511void Keyboard::rateTimerDone()
512{
513 emit key( pressedKeyUnicode, pressedKeyQcode, pressedMod, true, true );
514}
515
516QSize Keyboard::sizeHint() const
517{
518 return offscreen.size();
519}
520
521void Keyboard::resetState()
522{
523 //cout << "resetState()" << endl;
524}
diff --git a/inputmethods/jumpx/keyboard.h b/inputmethods/jumpx/keyboard.h
new file mode 100644
index 0000000..1be095d
--- a/dev/null
+++ b/inputmethods/jumpx/keyboard.h
@@ -0,0 +1,71 @@
1/**************************************************************************************94x78**
2**
3** This file may be distributed and/or modified under the terms of the
4** GNU General Public License version 2 as published by the Free Software
5** Foundation and appearing in the file LICENSE.GPL included in the
6** packaging of this file.
7**
8** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
9** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
10**
11*********************************************************************************************/
12#include <qframe.h>
13#include <qpixmap.h>
14#include <qtimer.h>
15
16class Keyboard : public QFrame
17{
18 Q_OBJECT
19public:
20 Keyboard( QWidget* parent=0, const char* name=0, WFlags f=0 );
21
22 void resetState();
23
24 void mousePressEvent(QMouseEvent*);
25 void mouseReleaseEvent(QMouseEvent*);
26 void mouseMoveEvent(QMouseEvent*);
27 void resizeEvent(QResizeEvent*);
28 void paintEvent(QPaintEvent* e);
29 //void timerEvent(QTimerEvent* e);
30
31 QSize sizeHint() const;
32
33signals:
34 void key( ushort unicode, ushort qcode, ushort modifiers, bool, bool );
35
36private slots:
37 void delayTimerDone();
38 void rateTimerDone();
39
40private:
41 int shift; // 0, 1, 2
42 int paren; // 0, 1, 2
43 int ctrl; // 0, 1
44 int alt; // 0, 1
45
46 int pressedKeyUnicode, pressedKeyQcode, pressedMod;
47 int pressedx, pressedy, pressedw, pressedh;
48 bool isnoncont;
49 int pressed2x, pressed2y, pressed2w, pressed2h;
50
51 int slideKeyUnicodeH, slideKeyQcodeH, slideKeyUnicodeV, slideKeyQcodeV;
52 bool enableMouseTracking;
53 QPixmap *slidePix, *slidePixH, *slidePixV;
54
55 QPixmap releasedPlain;
56 QPixmap releasedShift;
57 QPixmap releasedParen;
58
59 QPixmap pressedPlain;
60 QPixmap pressedShift;
61 QPixmap pressedParen;
62 QPixmap pressedDigit;
63
64 QPixmap offscreen;
65
66 QPixmap *releasedPix;
67 QPixmap *pressedPix;
68
69 QTimer *delayTimer;
70 QTimer *rateTimer;
71};
diff --git a/inputmethods/jumpx/keyboard.o b/inputmethods/jumpx/keyboard.o
new file mode 100644
index 0000000..b565f09
--- a/dev/null
+++ b/inputmethods/jumpx/keyboard.o
Binary files differ
diff --git a/inputmethods/jumpx/keyboardimpl.cpp b/inputmethods/jumpx/keyboardimpl.cpp
new file mode 100644
index 0000000..92abb09
--- a/dev/null
+++ b/inputmethods/jumpx/keyboardimpl.cpp
@@ -0,0 +1,97 @@
1/**************************************************************************************94x78**
2**
3** This file may be distributed and/or modified under the terms of the
4** GNU General Public License version 2 as published by the Free Software
5** Foundation and appearing in the file LICENSE.GPL included in the
6** packaging of this file.
7**
8** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
9** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
10**
11*********************************************************************************************/
12#include <qapplication.h>
13#include <qpixmap.h>
14#include "keyboard.h"
15#include "keyboardimpl.h"
16
17/* XPM */
18static const char * icon_xpm[] = {
19"26 13 2 1",
20 " c None",
21 ".c #000000",
22" ... ... ... ... ... ... ",
23". . . . . . . ",
24". . . . . . . ",
25". . . . . . . ",
26" ....... ... ... ....... ",
27". . . . . ",
28". . . . . ",
29". . . . . ",
30" ....... ... ... ....... ",
31". . . . . . . ",
32". . . . . . . ",
33". . . . . . . ",
34" ... ... ... ... ... ... "};
35
36
37KeyboardImpl::KeyboardImpl()
38 : input(0), icn(0), ref(0)
39{
40}
41
42KeyboardImpl::~KeyboardImpl()
43{
44 delete input;
45 delete icn;
46}
47
48QWidget *KeyboardImpl::inputMethod( QWidget *parent, Qt::WFlags f )
49{
50 if ( !input )
51 input = new Keyboard( parent, "Keyboard", f );
52 return input;
53}
54
55void KeyboardImpl::resetState()
56{
57 if ( input )
58 input->resetState();
59}
60
61QPixmap *KeyboardImpl::icon()
62{
63 if ( !icn )
64 icn = new QPixmap( (const char **)icon_xpm );
65 return icn;
66}
67
68QString KeyboardImpl::name()
69{
70 return qApp->translate( "InputMethods", "JumpX" );
71}
72
73void KeyboardImpl::onKeyPress( QObject *receiver, const char *slot )
74{
75 if ( input )
76 QObject::connect( input, SIGNAL(key(ushort,ushort,ushort,bool,bool)), receiver, slot );
77}
78
79#ifndef QT_NO_COMPONENT
80QRESULT KeyboardImpl::queryInterface( const QUuid &uuid, QUnknownInterface **iface )
81{
82 *iface = 0;
83 if ( uuid == IID_QUnknown )
84 *iface = this;
85 else if ( uuid == IID_InputMethod )
86 *iface = this;
87
88 if ( *iface )
89 (*iface)->addRef();
90 return QS_OK;
91}
92
93Q_EXPORT_INTERFACE()
94{
95 Q_CREATE_INSTANCE( KeyboardImpl )
96}
97#endif
diff --git a/inputmethods/jumpx/keyboardimpl.h b/inputmethods/jumpx/keyboardimpl.h
new file mode 100644
index 0000000..a82ec4a
--- a/dev/null
+++ b/inputmethods/jumpx/keyboardimpl.h
@@ -0,0 +1,43 @@
1/**************************************************************************************94x78**
2**
3** This file may be distributed and/or modified under the terms of the
4** GNU General Public License version 2 as published by the Free Software
5** Foundation and appearing in the file LICENSE.GPL included in the
6** packaging of this file.
7**
8** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
9** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
10**
11*********************************************************************************************/
12#ifndef KEYBOARDIMPL_H
13#define KEYBOARDIMPL_H
14
15#include <qpe/inputmethodinterface.h>
16
17class Keyboard;
18class QPixmap;
19
20class KeyboardImpl : public InputMethodInterface
21{
22public:
23 KeyboardImpl();
24 virtual ~KeyboardImpl();
25
26#ifndef QT_NO_COMPONENT
27 QRESULT queryInterface( const QUuid&, QUnknownInterface** );
28 Q_REFCOUNT
29#endif
30
31 virtual QWidget *inputMethod( QWidget *parent, Qt::WFlags f );
32 virtual void resetState();
33 virtual QPixmap *icon();
34 virtual QString name();
35 virtual void onKeyPress( QObject *receiver, const char *slot );
36
37private:
38 Keyboard *input;
39 QPixmap *icn;
40 ulong ref;
41};
42
43#endif
diff --git a/inputmethods/jumpx/keyboardimpl.o b/inputmethods/jumpx/keyboardimpl.o
new file mode 100644
index 0000000..133b8a4
--- a/dev/null
+++ b/inputmethods/jumpx/keyboardimpl.o
Binary files differ
diff --git a/inputmethods/jumpx/layout12.png b/inputmethods/jumpx/layout12.png
new file mode 100644
index 0000000..81f0ef1
--- a/dev/null
+++ b/inputmethods/jumpx/layout12.png
Binary files differ
diff --git a/inputmethods/jumpx/moc_keyboard.cpp b/inputmethods/jumpx/moc_keyboard.cpp
new file mode 100644
index 0000000..59d9bb3
--- a/dev/null
+++ b/inputmethods/jumpx/moc_keyboard.cpp
@@ -0,0 +1,177 @@
1/****************************************************************************
2** Keyboard meta object code from reading C++ file 'keyboard.h'
3**
4** Created: Mon Feb 4 21:38:24 2002
5** by: The Qt MOC ($Id$)
6**
7** WARNING! All changes made in this file will be lost!
8*****************************************************************************/
9
10#if !defined(Q_MOC_OUTPUT_REVISION)
11#define Q_MOC_OUTPUT_REVISION 9
12#elif Q_MOC_OUTPUT_REVISION != 9
13#error "Moc format conflict - please regenerate all moc files"
14#endif
15
16#include "keyboard.h"
17#include <qmetaobject.h>
18#include <qapplication.h>
19
20
21
22const char *Keyboard::className() const
23{
24 return "Keyboard";
25}
26
27QMetaObject *Keyboard::metaObj = 0;
28
29void Keyboard::initMetaObject()
30{
31 if ( metaObj )
32 return;
33 if ( qstrcmp(QFrame::className(), "QFrame") != 0 )
34 badSuperclassWarning("Keyboard","QFrame");
35 (void) staticMetaObject();
36}
37
38#ifndef QT_NO_TRANSLATION
39
40QString Keyboard::tr(const char* s)
41{
42 return qApp->translate( "Keyboard", s, 0 );
43}
44
45QString Keyboard::tr(const char* s, const char * c)
46{
47 return qApp->translate( "Keyboard", s, c );
48}
49
50#endif // QT_NO_TRANSLATION
51
52QMetaObject* Keyboard::staticMetaObject()
53{
54 if ( metaObj )
55 return metaObj;
56 (void) QFrame::staticMetaObject();
57#ifndef QT_NO_PROPERTIES
58#endif // QT_NO_PROPERTIES
59 typedef void (Keyboard::*m1_t0)();
60 typedef void (QObject::*om1_t0)();
61 typedef void (Keyboard::*m1_t1)();
62 typedef void (QObject::*om1_t1)();
63 m1_t0 v1_0 = &Keyboard::delayTimerDone;
64 om1_t0 ov1_0 = (om1_t0)v1_0;
65 m1_t1 v1_1 = &Keyboard::rateTimerDone;
66 om1_t1 ov1_1 = (om1_t1)v1_1;
67 QMetaData *slot_tbl = QMetaObject::new_metadata(2);
68 QMetaData::Access *slot_tbl_access = QMetaObject::new_metaaccess(2);
69 slot_tbl[0].name = "delayTimerDone()";
70 slot_tbl[0].ptr = (QMember)ov1_0;
71 slot_tbl_access[0] = QMetaData::Private;
72 slot_tbl[1].name = "rateTimerDone()";
73 slot_tbl[1].ptr = (QMember)ov1_1;
74 slot_tbl_access[1] = QMetaData::Private;
75 typedef void (Keyboard::*m2_t0)(ushort,ushort,ushort,bool,bool);
76 typedef void (QObject::*om2_t0)(ushort,ushort,ushort,bool,bool);
77 m2_t0 v2_0 = &Keyboard::key;
78 om2_t0 ov2_0 = (om2_t0)v2_0;
79 QMetaData *signal_tbl = QMetaObject::new_metadata(1);
80 signal_tbl[0].name = "key(ushort,ushort,ushort,bool,bool)";
81 signal_tbl[0].ptr = (QMember)ov2_0;
82 metaObj = QMetaObject::new_metaobject(
83 "Keyboard", "QFrame",
84 slot_tbl, 2,
85 signal_tbl, 1,
86#ifndef QT_NO_PROPERTIES
87 0, 0,
88 0, 0,
89#endif // QT_NO_PROPERTIES
90 0, 0 );
91 metaObj->set_slot_access( slot_tbl_access );
92#ifndef QT_NO_PROPERTIES
93#endif // QT_NO_PROPERTIES
94 return metaObj;
95}
96
97#include <qobjectdefs.h>
98#include <qsignalslotimp.h>
99
100// SIGNAL key
101void Keyboard::key( ushort t0, ushort t1, ushort t2, bool t3, bool t4 )
102{
103 // No builtin function for signal parameter type ushort,ushort,ushort,bool,bool
104 QConnectionList *clist = receivers("key(ushort,ushort,ushort,bool,bool)");
105 if ( !clist || signalsBlocked() )
106 return;
107 typedef void (QObject::*RT0)();
108 typedef void (QObject::*RT1)(ushort);
109 typedef void (QObject::*RT2)(ushort,ushort);
110 typedef void (QObject::*RT3)(ushort,ushort,ushort);
111 typedef void (QObject::*RT4)(ushort,ushort,ushort,bool);
112 typedef void (QObject::*RT5)(ushort,ushort,ushort,bool,bool);
113 RT0 r0;
114 RT1 r1;
115 RT2 r2;
116 RT3 r3;
117 RT4 r4;
118 RT5 r5;
119 QConnectionListIt it(*clist);
120 QConnection *c;
121 QSenderObject *object;
122 while ( (c=it.current()) ) {
123 ++it;
124 object = (QSenderObject*)c->object();
125 object->setSender( this );
126 switch ( c->numArgs() ) {
127 case 0:
128#ifdef Q_FP_CCAST_BROKEN
129 r0 = reinterpret_cast<RT0>(*(c->member()));
130#else
131 r0 = (RT0)*(c->member());
132#endif
133 (object->*r0)();
134 break;
135 case 1:
136#ifdef Q_FP_CCAST_BROKEN
137 r1 = reinterpret_cast<RT1>(*(c->member()));
138#else
139 r1 = (RT1)*(c->member());
140#endif
141 (object->*r1)(t0);
142 break;
143 case 2:
144#ifdef Q_FP_CCAST_BROKEN
145 r2 = reinterpret_cast<RT2>(*(c->member()));
146#else
147 r2 = (RT2)*(c->member());
148#endif
149 (object->*r2)(t0, t1);
150 break;
151 case 3:
152#ifdef Q_FP_CCAST_BROKEN
153 r3 = reinterpret_cast<RT3>(*(c->member()));
154#else
155 r3 = (RT3)*(c->member());
156#endif
157 (object->*r3)(t0, t1, t2);
158 break;
159 case 4:
160#ifdef Q_FP_CCAST_BROKEN
161 r4 = reinterpret_cast<RT4>(*(c->member()));
162#else
163 r4 = (RT4)*(c->member());
164#endif
165 (object->*r4)(t0, t1, t2, t3);
166 break;
167 case 5:
168#ifdef Q_FP_CCAST_BROKEN
169 r5 = reinterpret_cast<RT5>(*(c->member()));
170#else
171 r5 = (RT5)*(c->member());
172#endif
173 (object->*r5)(t0, t1, t2, t3, t4);
174 break;
175 }
176 }
177}
diff --git a/inputmethods/jumpx/moc_keyboard.o b/inputmethods/jumpx/moc_keyboard.o
new file mode 100644
index 0000000..732bf7b
--- a/dev/null
+++ b/inputmethods/jumpx/moc_keyboard.o
Binary files differ
diff --git a/inputmethods/jumpx/opie-jumpx.control b/inputmethods/jumpx/opie-jumpx.control
new file mode 100644
index 0000000..1b58924
--- a/dev/null
+++ b/inputmethods/jumpx/opie-jumpx.control
@@ -0,0 +1,10 @@
1Files: plugins/inputmethods/libqjumpx.so* pics/jumpx/*
2Priority: optional
3Section: opie/inputmethods
4Maintainer: Markus Gritsch <gritsch@iue.tuwien.ac.at>
5Architecture: arm
6Version: $QPE_VERSION-$SUB_VERSION
7Depends: opie-base ($QPE_VERSION)
8License: GPL
9Description: JumpX input method
10 Keyboard-like input method for the Opie environment.
diff --git a/inputmethods/jumpx/opie-jumpx.postinst b/inputmethods/jumpx/opie-jumpx.postinst
new file mode 100755
index 0000000..c254b01
--- a/dev/null
+++ b/inputmethods/jumpx/opie-jumpx.postinst
@@ -0,0 +1,2 @@
1#!/bin/sh
2/opt/QtPalmtop/bin/qcop QPE/TaskBar "reloadInputMethods()"
diff --git a/inputmethods/jumpx/opie-jumpx.postrm b/inputmethods/jumpx/opie-jumpx.postrm
new file mode 100755
index 0000000..c254b01
--- a/dev/null
+++ b/inputmethods/jumpx/opie-jumpx.postrm
@@ -0,0 +1,2 @@
1#!/bin/sh
2/opt/QtPalmtop/bin/qcop QPE/TaskBar "reloadInputMethods()"