Opened 11 years ago

Closed 11 years ago

Last modified 11 months ago

#4061 closed defect (wontfix)

WINCE: keyboard not working in HTC touch pro

Reported by: SF/kingpinda Owned by: SF/knakos
Priority: normal Component: Port: WinCE
Keywords: Cc:
Game:

Description

Hi there, I'm using the HTC touch pro. Found out several people with this phone have the same issue namely:

After starting a game, say lsl1 or pq1, most keys don't function: alpha and numeric keys that is.
tab is one of the few keys that do work for bringing up inventory for example. And the directional arrow keys work but not in the right direction. I'll post that lastly.

Now! in order to get key functionality back we have to press a hardware key with a function that takes us out of game. Say we press the sms/mms key. this brings up the sms inbox and we then click x to close. the game springs back and now all keys function.

Now for the wrongly mapped portion. Note that i use landscape=2 on all of my games since of the keyboard placement.

The directional arrow keys:

hardware button in game movement
up - left
down - right
left - down
right - up

With high regards,
Keep up the good work,

Kingpinda

Ticket imported from: #2475977. Ticket imported from: bugs/4061.

Attachments (3)

scummvm_stderr.txt (639 bytes ) - added by SF/kingpinda 11 years ago.
debug output1
scummvm_stdout.txt (1.4 KB ) - added by SF/kingpinda 11 years ago.
debug output2
kb1_.jpg (19.1 KB ) - added by SF/kingpinda 11 years ago.
photo of keyboard layout for reference

Download all attachments as: .zip

Change History (19)

comment:1 by SF/knakos, 11 years ago

OK, so if I get it right, mainly noticed in AGI games, the alphanumeric keys do not work on startup. Do the special keys (dpad, call, end call) work at that time?

The task switching action rectifies the problem. This is weird. I suggest you take a trace using debuglevel=1 in you scummvm.ini file (check out the port's readme for enabling diagnostic output). Start scummvm, press a few designated keys (like q,w,e,r,t,y), do the task switching trick, press some other keys (a, s, d, f, g). Close scummvm and attach here the scummvm_stdout.txt and scummvm_stderr.txt. Remember to report which keys you pressed each time.

comment:2 by SF/knakos, 11 years ago

Component: --Unset--
Owner: set to SF/knakos

by SF/kingpinda, 11 years ago

Attachment: scummvm_stderr.txt added

debug output1

comment:3 by SF/kingpinda, 11 years ago

File Added: scummvm_stderr.txt

by SF/kingpinda, 11 years ago

Attachment: scummvm_stdout.txt added

debug output2

comment:4 by SF/kingpinda, 11 years ago

File Added: scummvm_stdout.txt

by SF/kingpinda, 11 years ago

Attachment: kb1_.jpg added

photo of keyboard layout for reference

comment:5 by SF/kingpinda, 11 years ago

File Added: kb1_.jpg

comment:6 by SF/kingpinda, 11 years ago

As per requested follows testing agi with debug mode on

Buttons that work right after startup.

Tab:opens inventory
sms/mms: switches task to inbox
envelope button: switches task to select mail account
back=f6
end call=f4
home=nearly triggers now screen. I say nearly because some textures of it show at either end of the display but don't press through. after pressing the screen the game takes over again.
call= triggers nothing noticable
d-pad= works correctly for movement of char.
keyboard arrows work but incorrectly. up is left, left is down etc. evidently it mirrors the d-pad incarutely. Like seen on the photo of the keyboard layout d-pad up in portrait mode corresponds to left in horizontal mode. for some reason the keyboard arrows think they should flip also.
ctrl+alphanumerics work!! I just found this out! "ctrl+A" prints A to the parser. this goes for the entire alphanumeric range.
backspace works
enter works
FN+Backspace (del)=prints white blocks in parser
Space only works when ctrl is pressed also

Debug=1

Keys pressed:

q,w,e,r,t,y (q lits up keyboard like usual. no other noticable effects)
ctrl+c, ctrl+t, ctrl+r, ctrl+l (prints ctrl in parser), backspace, enter

home (switching tasks trick)

a,s,d,f (prints asdf)
d-pad left twice (char moves left)
left arrow key (char moves down)

FN+arrow key up (stands for page up) char moves diagonally up/right
pressed up arrow twice to make char stand still.

Hope this helps you!

Kingpinda

comment:7 by SF/kingpinda, 11 years ago

additional:

after opening and closing keyboard a couple of times, d-pad only works correctly with the keyboard closed. when keyboard is open the d-pad now does exactly as the arrow keys: up=left, left=down etc

comment:8 by SF/knakos, 11 years ago

Thanks for the input.

As seen in the stdout file, the keyboard driver eats up all keys you press, until you pressed crtl-l where the driver reported you pressed c, t, r, l in sequence! I've not seen that kind of behavior before.

Searching around, I came across a few posts which report that the T9 driver of your device is interfering with normal keyboard input. There is a workaround:

http://forum.xda-developers.com/showpost.php?p=2791652&postcount=36

With this app you can temporarily switch off the T9 keyboard (read up here: http://forum.xda-developers.com/archive/index.php/t-444641.html ). If you're feeling adventurous you can give it a try.

As for the wrong direction in the arrow keys, I'm reluctant to change the behavior right now, as it may break other devices but I will take a look.

Changing status to pending.

comment:9 by SF/knakos, 11 years ago

Status: newpending
Summary: WINCE: wrong hardware keyboard mappingWINCE: keyboard now working in HTC touch pro

comment:10 by SF/knakos, 11 years ago

Summary: WINCE: keyboard now working in HTC touch proWINCE: keyboard not working in HTC touch pro

comment:11 by SF/nulusios, 11 years ago

I attach my comment just to extend my hand for any help needed (read: test).
Esp. since Kostas and I speak the same language and could move this forward a bit faster.
I own the device and do NOT use T9.

I would love to have a full working keyboard on SCUMMVM with Touch Pro (assuming also correct default screen rotation, which is a different bug - not for discussion here).

comment:12 by SF/kingpinda, 11 years ago

I don't use T9 either and not even touchflo3d. I disabled it and am using spb mobile shell. Although i must confess i don't know to what extent touchflo3d is embedded in the rom. Using latest elite rom from xda devs.

Knakos: Would it be possible for an upcoming version to include a fully mappable ini file? Some actions now can be bound in menu yes? You say you don't want to mess with the binds of fear for breaking other devices.

If a fully mappable ini would be made where every key from a standard keyboard would be present then we could all customize it to our own device. That would be much easier wouldnt it?

Or am I asking something incredibly difficult? /me has no clue of coding :p

I will try out those xda mods you linked me when i find time thanks for your help though

comment:13 by SF/kingpinda, 11 years ago

Status: pendingnew

comment:14 by SF/knakos, 11 years ago

A full keyboard translation table is a hell of a workaround. The keyboard driver has to report keyboard events in a timely fashion and with correct scancodes. Your driver tries to help applications which do not support fancy text input by hooking into the low level functions. While this works ok for normal programs, those who require bare-bones functionality such as scummvm do not function correctly.

Thank you for your input.
Kostas

comment:15 by SF/knakos, 11 years ago

Resolution: wontfix
Status: newclosed

comment:16 by digitall, 11 months ago

Component: --Unset--Port: WinCE
Note: See TracTickets for help on using tickets.