Chhor-pichratana / networkpx

Automatically exported from code.google.com/p/networkpx
0 stars 0 forks source link

Classic phone keyboard #36

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Some people love writing with one hands, but they have difficult with a
classic QWERTY keyboard.

With this project you can write infinity type of keyboard.

Can you creare a classic phone keyboard style?

abc, def, ghi, jkl, mno, pqr, stu, wvx (like
http://tevami.com/wp-content/uploads/2008/06/nokia-n73.jpg)

1. Click once: "a"
2. Double click: "b"
3. Triple click: "c"

1 second of delay.

this is the classic t9 keyboard :)

Original issue reported on code.google.com by sagittcy...@gmail.com on 29 Jan 2009 at 7:33

GoogleCodeExporter commented 9 years ago
is good have a large button for this, and the number when the user hold a 
button.

Original comment by sagittcy...@gmail.com on 29 Jan 2009 at 7:34

GoogleCodeExporter commented 9 years ago
oh, very interesting... perfect for use sms at school ;)
it could be fantastic!!!

Original comment by fedecamm...@gmail.com on 29 Jan 2009 at 7:40

GoogleCodeExporter commented 9 years ago
Just for somebody interested and can code:

For T9 keyboard to work we need to build a UIKeyboardLayoutRoman that builds the
PhonePad sublayout for any kinds of non-Alt sublayout (easy), and also insert 
the
international key somewhere (needs some imagination).

Then we'll need to prepare a dictionary, either by supplying your own 
(redundant), or
use the internal KB::WordTrie C++ classes to load the build-in dictionary (hard 
--
absolutely no documentation found yet). Then find the texts and supply the 
candidates
(tedious but not hard). 

But T9 is patented (http://www.google.com/patents?id=PmgCAAAAEBAJ), is it OK to 
do so
without asking Nuance Communications?

Original comment by kennytm@gmail.com on 29 Jan 2009 at 10:00

GoogleCodeExporter commented 9 years ago
t9 is not necessary, my words about it is only for explain the idea.

The only necessary function is the "abc" keyboard (like HTC Diamond, Nokia 5800,
BlackBarry).

Not the dictionary function, only the insert method without dictionary. I think 
that
the insert method is easy to create. Just make a keyboard and the insert system 
for
letter (1, 2 & 3 clicks).

Example:

http://www.mobile-review.com/review/image/nokia/5800-2/scr/keyboard/key06.jpg
http://www.handy-faq.de/handy_anleitungen/htc/Bilder/HTC_Touch_Diamond_Keyboard.
png
(view de __5__ img)

when this is created, we can create a "blackberry storm keyboard style" with 
only 2
buttons, and only 2 tap on the button.

Like
http://tech4teens.files.wordpress.com/2008/10/blackberry-storm-sure-type-keyboar
d.jpg

and the first of
http://www.handy-faq.de/handy_anleitungen/htc/Bilder/HTC_Touch_Diamond_Keyboard.
png

Original comment by sagittcy...@gmail.com on 29 Jan 2009 at 10:09

GoogleCodeExporter commented 9 years ago
@4:

OK I'm confused.

So a simple Input manager can be created to change the input string dynamically 
(just
like what the Korean IME did).

Original comment by kennytm@gmail.com on 29 Jan 2009 at 10:13

GoogleCodeExporter commented 9 years ago
This is not (totally) my idea, but here in italy and in other country some 
people
write with one hand. Like at school, in a car or in other not-optimal places.

They want to have a large button for writing, a classic phone keyboard button 
(abc,
def etc.) 

The input system is simple.

1 click = first letter
2 click = second letter (with a delay 1\2s)
3 click = third letter (always with a delay)

This is for simulate the 9 phone button, with a touchscreen.

when this is created, the same concept we will applicate on a "ab" "cd" "ef"
keyboard, less 3 click function.

Original comment by sagittcy...@gmail.com on 29 Jan 2009 at 10:22

GoogleCodeExporter commented 9 years ago
@6: Together with the layout change in comment 3.

Well I do own a Nokia phone and familiar with the ABC input method (2 = A, 22=B,
222=C), but I don't understand what you mean by "delay" here now.

Original comment by kennytm@gmail.com on 29 Jan 2009 at 10:31

GoogleCodeExporter commented 9 years ago
Ok, I try to explain you why is "delay" for me:

If i click once on "abc" button insert "a", but if i click in 1 second the same
button insert "b".

But if i press "abc" button, insert "a", and wait 1,5 second, if i try to 
re-press
"abc" button i insert "a" yet, and "a" not change in "b".

The number of second is only for explain the idea.

Original comment by sagittcy...@gmail.com on 29 Jan 2009 at 10:43

GoogleCodeExporter commented 9 years ago
MultiTap is now available in
http://code.google.com/p/networkpx/downloads/detail?name=hk.kennytm.MultiTap-0.1
-3.deb .
See http://code.google.com/p/networkpx/wiki/Using_MultiTap for usage.

As seen from the picture the international key is badly placed. If there's only 
1
keyboard (i.e. the international key won't appear) then it is normal. Also 
hitting 0
three times only sends out the \n key instead of performing what the return key 
would
do. 

Original comment by kennytm@gmail.com on 30 Jan 2009 at 10:29

GoogleCodeExporter commented 9 years ago
very good :D

you post this on cydia?

Original comment by sagittcy...@gmail.com on 30 Jan 2009 at 10:44

GoogleCodeExporter commented 9 years ago
if you can insert the background where is "123" and globe totally gray ^^

Original comment by sagittcy...@gmail.com on 30 Jan 2009 at 10:57

GoogleCodeExporter commented 9 years ago
I'd rather disable the international key on the main keyboard... Hitting the 
+*# key will turn to the Alt 
sublayout where the intl key will appear.  

Original comment by kennytm@gmail.com on 30 Jan 2009 at 11:14

GoogleCodeExporter commented 9 years ago
Very Very good work :)

the keyboard work fine :D

if you can use the example in the attached file for the graphics, else you can 
post
this keyboard on cydia. Some people like this :D

You can rename the project "phone keyboard" if you like this name.

Original comment by sagittcy...@gmail.com on 31 Jan 2009 at 12:44

Attachments:

GoogleCodeExporter commented 9 years ago
@13:

I can move that 2 images to the location you specified but internally iPhone 
still
intercepts touches with the old position. So it makes the interface even worse 
:(

Actually I've implemented @12 and now the 2 keys appear if and only if you 
switch to
the Alt plane. (Replace /Library/iKeyEx/Keyboards/MultiTap.keyboard/MultiTap 
with
attached one to see the result.)

The only thing left is to eliminate or change the Space bar that pops up when 
you
enter that mode. 

Original comment by kennytm@gmail.com on 31 Jan 2009 at 2:18

Attachments:

GoogleCodeExporter commented 9 years ago
The result of this multitap keyboard file is very good!

Is possible to fix the defect of the transition to this keyboard?
The spacebar with MultiTap fade in then fade out. (see attached file)

You can separate the +*# button? the first part with "#+=" key and the second 
part
with globe?

A good idea is insert a "shift-key-simulator" when the user hold the button.

Another thing, is good if you insert bottom the "0" key the space icon like 
this.
http://z.about.com/d/cellphones/1/0/l/V/sony-ericsson-k608i-g.jpg

The icon is at the right of "#".

Original comment by sagittcy...@gmail.com on 31 Jan 2009 at 2:53

Attachments:

GoogleCodeExporter commented 9 years ago
@15:

> Is possible to fix the defect of the transition to this keyboard?
The spacebar with MultiTap fade in then fade out. (see attached file)

That's the thing I'm talking about in @14.

> You can separate the +*# button? the first part with "#+=" key and the second 
part
with globe?

It's possible but troublesome (If possible I'd like to stick with original 
images so
that the look is consistent even with WinterBoard themes.).

> A good idea is insert a "shift-key-simulator" when the user hold the button.

Possible, if I can hook a long press action to it.

Or is a->b->c->A->B->C->2 good enough? (not implemented yet.)

> Another thing, is good if you insert bottom the "0" key the space icon like 
this.
http://z.about.com/d/cellphones/1/0/l/V/sony-ericsson-k608i-g.jpg

Troublesome and may not work well with WinterBoard themes.

Original comment by kennytm@gmail.com on 31 Jan 2009 at 3:02

GoogleCodeExporter commented 9 years ago
> A good idea is insert a "shift-key-simulator" when the user hold the button.

Possible, if I can hook a long press action to it.

Or is a->b->c->A->B->C->2 good enough? (not implemented yet.)

Both method is good, I think the best is the first for have any charter 
"upper", when
the user press hold the button, bottom the number the charters chamge with
upper-case, else if the charter are upper-case yet, change with lower-case.

I think both method integrate is the best thing, but the first thing remove the
possibility to have a classic multi-selection iPhoneOS Keyboard (Like if you 
hold the
letter on classic keyboard)

If this is possibile (multi-selection), the second method is the best, else 
both or
the first.

Original comment by sagittcy...@gmail.com on 31 Jan 2009 at 3:35

GoogleCodeExporter commented 9 years ago
I have thinked about this and this system have some problem:

1. In the classic phone when the user hold a key, it write the number. (Like if 
i
hold 2 (abc), the keyboard write 2)

2. The keyboard less "Enter" button

3. The keyboard less a precise edit option.

For fix thats.

1. Use the phone method hold, like write number _AND_ use the abcABC method 
_AND_ we
can use the 1 button (because it not have a charter\letter) as a shift key when 
hold.

2. I thinking about this

3. Change the "+*#" with other text, and make the second layout the edit 
keyboard.

1 = empty, 2 = up arrow
3 = empty, 4 = left arrow
5 = empty, 6 = right arrow
7 = empty, 8 = down arrow
9 = empty, 0 = space (as the phone keyboard)

and "+*#" change with "abc".

ANOTHER IMPORTANT THING: with phone-keypad AND edit-keypad the backspace icon 
change.

1 tap = backspace
2 tap = canc (like computers, delete the next letter and not the previous)

this edit keyboard you can make separatly and in the phone-keyboard because 
this edit
method mis in the iphoneos keyboard and are more useful for edit the text.

Original comment by sagittcy...@gmail.com on 31 Jan 2009 at 6:04

GoogleCodeExporter commented 9 years ago
another thing you can indicate the space symbol with "_" and insert other 
symbol in
the 1 button.

Original comment by sagittcy...@gmail.com on 31 Jan 2009 at 6:06

GoogleCodeExporter commented 9 years ago
@18, 19:

> Use the phone method hold, like write number _AND_ use the abcABC method 
_AND_ we
can use the 1 button (because it not have a charter\letter) as a shift key when 
hold.

Sorry, can you illustrate in points? I don't understand...

> precise edit option

That's easy to implement but is it really so important to replace the symbol 
keyboard? 

> another thing you can indicate the space symbol with "_" and insert other 
symbol in
the 1 button.

If I can place a _ at 0 then I can place a ␣ at 0 and vice versa. The 
difficulty of
the two are the same.

Original comment by kennytm@gmail.com on 31 Jan 2009 at 7:24

GoogleCodeExporter commented 9 years ago
Point (1)

1. All buttons (Less "1" button) use a->b->c->A->B->C.

2. If user press hold any buttons (Less "1" button), the keyboard write the 
number
(Like if I hold "2 (abc)" the keyboard write "2").

3. If user hold "1" button is as to enable the shift, only A->B->C

Point (2)

I think is mor useful the precise edit keyboard that symbols keyboard. You can 
create
a different keyboard for that option... This is only your coiche :).

"Of course have the keyboard separatly is more good for have the precise edit 
without
this keyboard, but is more difficult to access from this keyboard."

I'm thinking about this and maybe separatly is more useful...

Point (3)

Insert the first or the second, is the same for me and other. 

Original comment by sagittcy...@gmail.com on 31 Jan 2009 at 7:55

GoogleCodeExporter commented 9 years ago
http://www.spaziocellulare.com/ispazio/2009/02/01/anteprima-nuova-tastiera-con-t
9-in-arrivo-sui-nostri-iphoneipod-touch/

Your project is very accepted from italian user :)

This keyboard style, like nokia 5800, is useful for some people. 

Original comment by sagittcy...@gmail.com on 1 Feb 2009 at 8:51

GoogleCodeExporter commented 9 years ago
@21:

But if the user hold 1 it means to write "1" normally... 

@22:

Wow, nice to see that :p 

Original comment by kennytm@gmail.com on 1 Feb 2009 at 10:29

GoogleCodeExporter commented 9 years ago
I think that if you implement the edit text keyboard, this keyboard will be 
very great.

Like the phone have normally "joystick" or directional pad buttons.

Other symbols you can add on the 1 button.

PS: If i try to hold a button, it write the first letter and not the number of 
the
button.

In new file remember to add a space text icon ;)

Original comment by sagittcy...@gmail.com on 1 Feb 2009 at 10:36

GoogleCodeExporter commented 9 years ago
another thing, if you enable "kana" keyboard in japanase language and click on 
ABC
you have a similar keyboard.

You can implement the text popup with upper case? or if you want create a t9 
style
with this?

Thanks for your hard work.

Original comment by sagittcy...@gmail.com on 1 Feb 2009 at 10:43

GoogleCodeExporter commented 9 years ago
Kana keyboard... Maybe I should redirect users to use that keyboard instead, 
it's way more advanced :)

Original comment by kennytm@gmail.com on 2 Feb 2009 at 3:20

GoogleCodeExporter commented 9 years ago
I was already developing something like this :) Ok, nice to see someone else 
did it!

By the way, I wanted to include something like real T9. I live in Italy, so I 
suppose that, if T9 is a software-patent, 
it's not valid here. Anyways, an open source application can't run into 
problems, can it?

Thanks to you, I can base my code on this. So I just need to complete 
dictionaries (I'm working on them)

Original comment by myselft...@gmail.com on 2 Feb 2009 at 2:38

GoogleCodeExporter commented 9 years ago
@27:

Nice, so I can stop working on it :D. (~Marking it WontFix~)

IANAL, so if possible I'd like to stay away from these legal issues as much as
possible :).

Original comment by kennytm@gmail.com on 2 Feb 2009 at 2:45

GoogleCodeExporter commented 9 years ago
good, kennytm if you want create a edit precison (up, down, left, right, space, 
del,
canc) i thanks you :D

i think is very simple for you.

Original comment by sagittcy...@gmail.com on 2 Feb 2009 at 5:00

GoogleCodeExporter commented 9 years ago
Is there a way for me to make it accept unicode (greek) characters?

I keep getting "warning: multi-character character constant" wherever I use 
unicode
chars....

Original comment by parr...@gmail.com on 3 Feb 2009 at 12:17

GoogleCodeExporter commented 9 years ago
@30: (Off topic!)

That's a compiler problem... Make sure you're using the unichar/wchar_t type 
instead
of char.

You can also use '\U03B1' to refer to the characters by code.

Original comment by kennytm@gmail.com on 3 Feb 2009 at 2:32

GoogleCodeExporter commented 9 years ago
Good work with Multitap kennytm! :)

Reading this http://iphoneroot.com/multitap-t9/ indicates that this build from 
Spazio
contains the predictive bit (T9). However, it doesn't seem to work for me at 
all. Do
you know if it is supposed to or is it just confusion on what T9 actually is?

Has anyone had any luck with this? Works nicely as keyboard though :) 

BTW - a T9 implementation is totally above board in Europe because we don't have
software patents.

Original comment by timothy....@gmail.com on 22 Feb 2009 at 9:50

GoogleCodeExporter commented 9 years ago
@32:

Except I'm not European :(

(May be tag it as "Not for use in USA?" :S )

Anyway, even if the patent issue is invalid, it is still blocked by issue 1. 
After
issue 1 is solved, however, T9 is easily producible. 

Original comment by kennytm@gmail.com on 23 Feb 2009 at 4:11

GoogleCodeExporter commented 9 years ago
thanks for all the hard work Kenny

since issue 1 is now resolved, what needs to be done to get multitap again?

Original comment by jma...@gmail.com on 21 Sep 2009 at 10:54