Writing new keyboard driver for Universal, need info - JASJAR, XDA Exec, MDA Pro General

Im going to attempt to write a new keyboard handling daemon for the Universal, since it seems no one else is interested in writing a new keyboard driver for the Universal. I need a list of all the key codes for the HTC Universals hardware keys. Thanks for the help guys.

heh, i too am looking for the key codes... not for the same reason however.
I have the codes for up/down/left/right on the keyboard if they are of any use to you?
[Edit]
Found what I was after, hope they are of some use to you http://www.vijay555.com/?Releases:VJKeyPress:Key_List

How'd you find that?
Sess: what are you using for reference on the driver?
There are some example drivers on buzzdev.net
What are you trying to achieve though?
V

lol, it took me _hours_ on google to find.
hope you dont mind

vijay555 said:
How'd you find that?
Sess: what are you using for reference on the driver?
There are some example drivers on buzzdev.net
What are you trying to achieve though?
V
Click to expand...
Click to collapse
I supposed I hadn't specified huh? Im writing a little "TSR" that I want to intercept all keyup messages. Then the app will check the keyboard register of the appropriate key to ensure its really "up". If its not, the message is discarded and the register will be added to a queue to monitor until it really is up, at which time the tsr will generate the appropriate keyup message and pass it along to the system. This should allow for simultaneous key presses on the Universal. With a little extra work, I might be able to make it a universal app.

@Sess
You´ve got any further with keyboard drivers?
If you made it, i would buy it. Caus i need it. Got it?

Close, but Im banging my head against a steel wall...
I've written the main code to check and remove the messages, but without the universal keboard registers this thing isn't going anywhere, I've got to compare the register status in order to determine whether or not to discard teh message. So if you'd like to help, get me the asm registers and addresses for the universal keyboard.

What does these addresses look like? Is it something like:
0x31 for 1
0x32 for 2
0x33 for 3
...
0x41 for a
0x42 for b
etc.

Tock tock...
What´s going on here?

yea, but I need the hex address of the actual keyboard registers, so I can probe it FOR the keys. If I could just read the keyboard, I could easily figure out what each keycode is, by writing a quick util that constantly displays the content of the keyboard register and writing them down.

perhaps they've done something similar in the linux port?

What's the progress on the driver?

man you rock!! you stil doing tht thing? pocke snes is already working on the HTC Universal and it would be good to have this driver. anyway I can help? did you find what you where looking for?

sorry for lack of updates.
Im sorry for the lack of updates, I've completely stopped working on the proeject as I was never able to get the key codes I needed. Im willing to share my source with anyone who wants to continue the project (seriously), but have since purchased a psp for my classic portable gaming needs. If anyone gets the information I requested, I will finish the app.

have you asked htc? :¬D lol
seriously, though, maybe the rom builders can supply you with a copy of the existing keyboard driver that you can engineer.

Interesting - very easy SIP( Soft Input Panel) - you can find http://sala.sallala.hu/pda/blimkeys/blimkeys_en.html
Working on PPC2002/2003 and WM5/WM6 in both modes QVGA/VGA.
Easy to edit - customize to your needs .
You need chacter finder - is here: http://sala.sallala.hu/webmester/charcodefinder/charcodefinder.php

Sess said:
Im sorry for the lack of updates, I've completely stopped working on the proeject as I was never able to get the key codes I needed. Im willing to share my source with anyone who wants to continue the project (seriously), but have since purchased a psp for my classic portable gaming needs. If anyone gets the information I requested, I will finish the app.
Click to expand...
Click to collapse
from vijay's website. I don't know if it helps...
Have a look here for some further explanation of Virtual Key codes:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wceddk/html/wceddkVirtual_Key_Codes.asp
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/WinUI/WindowsUserInterface/UserInput/VirtualKeyCodes.asp
VK_LBUTTON 1
VK_RBUTTON 2
VK_CANCEL 3
VK_MBUTTON 4
VK_XBUTTON1 5
VK_XBUTTON2 6
VK_BACK 8
VK_TAB 9
VK_CLEAR 12
VK_RETURN 13
VK_SHIFT 16
VK_CONTROL 17
VK_CTRL 17
VK_MENU 18
VK_PAUSE 19
VK_CAPITAL 20
VK_HANGEUL 21
VK_HANGUL 21
VK_KANA 21
VK_JUNJA 23
VK_FINAL 24
VK_HANJA 25
VK_KANJI 25
VK_ESCAPE 27
VK_CONVERT 28
VK_NONCONVERT 29
VK_ACCEPT 30
VK_MODECHANGE 31
VK_SPACE 32
VK_PRIOR 33
VK_NEXT 34
VK_END 35
VK_HOME 36
VK_LEFT 37
VK_UP 38
VK_RIGHT 39
VK_DOWN 40
VK_SELECT 41
VK_PRINT 42
VK_EXECUTE 43
VK_SNAPSHOT 44
VK_INSERT 45
VK_DELETE 46
VK_HELP 47
VK_0 48
VK_1 49
VK_2 50
VK_3 51
VK_4 52
VK_5 53
VK_6 54
VK_7 55
VK_8 56
VK_9 57
VK_A 65
VK_B 66
VK_C 67
VK_D 68
VK_E 69
VK_F 70
VK_G 71
VK_H 72
VK_I 73
VK_J 74
VK_K 75
VK_L 76
VK_M 77
VK_N 78
VK_O 79
VK_P 80
VK_Q 81
VK_R 82
VK_S 83
VK_T 84
VK_U 85
VK_V 86
VK_W 87
VK_X 88
VK_Y 89
VK_Z 90
VK_LWIN 91
VK_RWIN 92
VK_APPS 93
VK_SLEEP 95
VK_NUMPAD0 96
VK_NUMPAD1 97
VK_NUMPAD2 98
VK_NUMPAD3 99
VK_NUMPAD4 100
VK_NUMPAD5 101
VK_NUMPAD6 102
VK_NUMPAD7 103
VK_NUMPAD8 104
VK_NUMPAD9 105
VK_MULTIPLY 106
VK_ADD 107
VK_SEPARATOR 108
VK_SUBTRACT 109
VK_DECIMAL 110
VK_DIVIDE 111
VK_F1 112
VK_F2 113
VK_F3 (green key) 114
VK_F4 115
VK_F5 116
VK_F6 117
VK_F7 118
VK_F8 119
VK_F9 120
VK_F10 121
VK_F11 122
VK_F12 123
VK_F13 124
VK_F14 125
VK_F15 126
VK_F16 127
VK_F17 128
VK_F18 129
VK_F19 130
VK_F20 131
VK_F21 132
VK_F22 133
VK_F23 134
VK_F24 135
VK_NUMLOCK 144
VK_SCROLL 145
VK_OEM_FJ_JISHO 146
VK_OEM_NEC_EQUAL 146
VK_OEM_FJ_MASSHOU 147
VK_OEM_FJ_TOUROKU 148
VK_OEM_FJ_LOYA 149
VK_OEM_FJ_ROYA 150
VK_LSHIFT 160
VK_RSHIFT 161
VK_LCONTROL 162
VK_RCONTROL 163
VK_LMENU 164
VK_RMENU 165
VK_BROWSER_BACK 166
VK_BROWSER_FORWARD 167
VK_BROWSER_REFRESH 168
VK_BROWSER_STOP 169
VK_BROWSER_SEARCH 170
VK_BROWSER_FAVORITES 171
VK_BROWSER_HOME 172
VK_VOLUME_MUTE 173
VK_VOLUME_DOWN 174
VK_VOLUME_UP 175
VK_MEDIA_NEXT_TRACK 176
VK_MEDIA_PREV_TRACK 177
VK_MEDIA_STOP 178
VK_MEDIA_PLAY_PAUSE 179
VK_LAUNCH_MAIL 180
VK_LAUNCH_MEDIA_SELECT 181
VK_LAUNCH_APP1 182
VK_LAUNCH_APP2 183
VK_OEM_1 186
VK_OEM_PLUS 187
VK_OEM_COMMA 188
VK_OEM_MINUS 189
VK_OEM_PERIOD 190
VK_OEM_2 191
VK_OEM_3 192
VK_OEM_4 219
VK_OEM_5 220
VK_OEM_6 221
VK_OEM_7 222
VK_OFF (power off) 223
VK_OEM_AX 225
VK_OEM_102 226
VK_ICO_HELP 227
VK_ICO_00 228
VK_PROCESSKEY 229
VK_ICO_CLEAR 230
VK_PACKET 231
VK_OEM_RESET 233
VK_OEM_JUMP 234
VK_OEM_PA1 235
VK_OEM_PA2 236
VK_OEM_PA3 237
VK_OEM_WSCTRL 238
VK_OEM_CUSEL 239
VK_DBE_ALPHANUMERIC 240
VK_OEM_ATTN 240
VK_DBE_KATAKANA 241
VK_OEM_FINISH 241
VK_DBE_HIRAGANA 242
VK_OEM_COPY 242
VK_DBE_SBCSCHAR 243
VK_OEM_AUTO 243
VK_DBE_DBCSCHAR 244
VK_OEM_ENLW 244
VK_DBE_ROMAN 245
VK_OEM_BACKTAB 245
VK_ATTN 246
VK_DBE_NOROMAN 246
VK_CRSEL 247
VK_DBE_ENTERWORDREGISTERMODE 247
VK_DBE_ENTERIMECONFIGMODE 248
VK_EXSEL 248
VK_DBE_FLUSHSTRING 249
VK_EREOF 249
VK_DBE_CODEINPUT 250
VK_PLAY 250
VK_DBE_NOCODEINPUT 251
VK_ZOOM 251
VK_DBE_DETERMINESTRING 252
VK_NONAME 252
VK_DBE_ENTERDLGCONVERSIONMODE 253
VK_PA1 253
VK_OEM_CLEAR 254
Click to expand...
Click to collapse
if this still doesn't work, can you tell me exactly what I need in order to complete the project? I have never programed a driver before but I have some coding skillz, maybe I can do it.

Hello if any1 is still working on the keyboard I can provide the keys. I've figured out that if you''re setting your buttons for the snes emulator you see the specific codes such as
Up-0x26
left-0x25
and so on.

franklinromeo said:
Hello if any1 is still working on the keyboard I can provide the keys. I've figured out that if you''re setting your buttons for the snes emulator you see the specific codes such as
Up-0x26
left-0x25
and so on.
Click to expand...
Click to collapse
that is oh-so-awesome. wonder if the author of this thread will tell us exactly how the codes look like. or if these are the ones, or the ones I posted from vj's website.
please answer, we know you don't have the time, or necessity, but maybe we can help.

Yubastard said:
that is oh-so-awesome. wonder if the author of this thread will tell us exactly how the codes look like. or if these are the ones, or the ones I posted from vj's website.
please answer, we know you don't have the time, or necessity, but maybe we can help.
Click to expand...
Click to collapse
i don't think that's what he's after.
he'll need someting that looks like a memory address, not a value (i think)

Related

XDA II mini Pocket Hack Master Battery Test Result

Mins Default 416 PHM2004 104 PHM2004 416 PHM2004 520
10 98 98 96 97
15 98 97 94 95
20 97 96 93 93
25 96 95 92 92
30 95 94 90 90
35 94 93 88 88
40 93 92 87 86
45 93 91 85 84
50 92 90 84 83
55 91 89 82 81
60 90 88 81 79
The phone without PHM use lot less power then with PHM even running at
104Mhz. and with Full Over Clock which is 520 Mhz will use more then 10%
of extra battery, but it run 25% faster. However when system on idle and
off the PHM only last 1.5 day in compare without PHM which can easily run 5 days.
PHM?
Sounds interesting, but what dyou mean by 'using phm'? Kindly explain.
Sands
when Pocket Hack master installed . no matter what freq you set it to
So the best combination is to install the PHM then overclock the CPU and then uninstall the PHM again...or am I wrong?! :roll:
Regards,
Primoz
p.s. I read that one OC program (I don`t know the name) can associate single applications to different CPU speeds...is it true?
Hm, sounds like PHM is not handling cpu idle correctly; what a shame... :?

Auto-Activation of Microphone AGC after Soft-Reset

Hi all!
I searched for a possibility to activate AGC Microphone after a soft-reset automatically.
But I didn't find anything useful.
The key where the ON setting is stored in registry is
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\AdvancedCPL]
If you change MicrophoneAGC from dword 0 to dword 1 it is set to ON but after a soft-reset back to 0.
Does anybody know if it's possible to export this reg-key make a .cab and put this .cab in the Startup-Folder?
I also found this link http://forum.xda-developers.com/viewtopic.php?t=824 but how to use this programm code?
Another possibility is to create a shortcut to the AGC Control and put it in the Start Up-Folder http://forum.xda-developers.com/viewtopic.php?t=8496, but this gives you only the chance to change the setting to ON not to to this complete automatically.
automatic registry edit
Hallo,
you can automatically edit the Registry using mortrunner, a nice freeware tool. After mortrunner is installed create a file with extention ".mortrun" and put it into the startup-folder. Into the ".mortrun" file you write e.g.:
http://www.sto-helit.de/modules/edito/content.php?id=23#registry
RegWriteDWord HKLM,System\CurrentControlSet\AdvancedCPL,MicrophoneAGC,1
good luck
Contractor,
Ah, yes you must be running Microsoft Voice Command. I too ran into this, and found out that some brain-child developer at Microsoft (who works on Voice Command) decided to HARD CODE the setting of HKEY_LOCAL_MACHINE\System\CurrentControlSet\AdvancedCPL\MicrophoneAGC to 0 (false) every time it is run.
Apparently he/she decided this was the best setting for all of us, and to hell with what our personal preferences (you know, that thing in the control panel) were. Unfortunately, as voice command is in the startup, it resets/overrides this setting with every soft reset. IMO, there is a place in hell reserved for this style of development ;-)
I found that Voice Command works a lot better on my Jam with AGC on.
To get around it, I tranferred voicecmd.exe to my desktop, used a hex editor to replace the "HKEY_LOCAL_MACHINE\System\CurrentControlSet\AdvancedCPL\MicrophoneAGC" string in the exe with "HKEY_LOCAL_MACHINE\System\CurrentControlSet\AdvancedCPL\MicrophoneAGP so it wites to the wrong place (not affecting any real settings. I made a backup, and replaced voicecmd.exe on the defice (don't forget to replace the copy in \Windows as well if using the VCABT hack).
Just search for:
4d 00 69 00 63 00 72 00 6f 00 70 00 68 00 6f 00 6e 00 65 00 41 00 47 00 43
and replace with:
4d 00 69 00 63 00 72 00 6f 00 70 00 68 00 6f 00 6e 00 65 00 41 00 47 00 50
Hope this helps, enjoy!
@ orlando:
Thanks for your suggestion.
Mortrunner sounds very good. I will try it and I think I can use it for other settings as well.
@ dschur:
Everything is correct. I use a MDA compact with MS Voice Command and the VCAPT setting.
As a understand you Voice Command sets the AGC to "0" !!!!!!!
Don't they preach to enable AGC to have the best voice recognition???
You are right that Voice Command works much more better with enabled AGC.
Your workaround to override this setting is great. I'll try it and I think that if Voice Command is setting AGC off, orlandos suggestion would only work if mortrunner is loaded in the startup-folder AFTER Voice Command is executed.
P.S.: Voice Command is located on my SD-Card and there is the workaround to start Voice Command as your last application after a soft-reset to ensure that there is no error message.
orlando, dschur: Again - I'm with your help!
@ dschur
Your workaround works perfectly!!!!
Thx.
I'm interested in the workaround to allow Voice Command to be the last loaded app after a soft reset from the SD Card...
I cannot remember how I set this option. Now I start Voice Command in the main memory. But I think the application MemMaid has this option to set the autostart ranking.
Found some screenshots for Memmaid:
http://www.clickapps.com/screenshots.htm?pid=1505&section=PPC
P.S.: Sorry, Autostart is the German translation. Startup Folder is the correct one in English....
For those of us who doesnt know too much about all this, mind making a cab installer that fixes this bug?
Cheers
I'll possibly be making an app to sort this kind of thing out. Eventually. Not too soon unfortunately.
V
montana said:
For those of us who doesnt know too much about all this, mind making a cab installer that fixes this bug?
Cheers
Click to expand...
Click to collapse
I think it's not so easy b'cause it's not like modifing the registry.
You'll have to patch the original MS Voice Command file and post the patched file here?!????
But the other version
(Set the key where the ON setting is stored in registry
([HKEY_LOCAL_MACHINE\System\CurrentControlSet\AdvancedCPL])
in a Sturt-Up folder should be possible.

How can I change the PagePool Size to 0mb

I want to try that and I can find the HEX code for 12mb as [03 15 A0 03 00 10 8E 05 03 00 00 0A],but I dont know what can I do to 0mb……anyone can help me?thanks
on the artemis tom codon came up with 'change pool size' app (6,8,10,12 i think) but i don't think there's one for polaris - don't try that app for polaris, it won't work, just saying in principle.
i'm no expert at all here and i may get this the wrong way round but...
larger page pool = faster system operation (but less allocated memory for applications ie. 2 or 3 larger apps running at once may struggle)
smaller page pool = emphasis on launching and running programs/applications (but slower system overall)
so i'm guessing (and it is a guess) that a zero page pool isn't possible because this would make the system unusable (you can vary the scale of memory allocation but not loose one side all together), say it's a volume control - you've 0 - 30 in sound but you're only allowed to change between 8 - 24, the others are off limits.
wanted to change my page pool on polaris roms like with tom's app, read a bit about it, pm'd tom for guidance but got no response - probably because all the info is already out there somewhere, just gotta dig and read.
good luck though
(also my memory's **** so as i said before, i could have the above the wrong way round, there's a few posts about though)
You can use OmBy's pagepool changer:
http://forum.xda-developers.com/showthread.php?t=323269
But you can not change the pagepool "on the fly". That means you have to extract the rom file, change the pagepool and flash it.
And I would not change the PP to 0

[UPDATE] DUKE NUKEM 3D fullscreen portrait or VGA in landscape. with keys mapped

I have duke nukem running on my xperia on full wvga resolution and full screen(no wgva fix) in portrait mode. It is working at a very playable frame rate. The only problem is I haven't managed to put it to landscape in order to use the keyboard. If anybody has found a config file that works on landscape please share it, I will map all buttons then. Thank You
fullscreen portrait cfg on post 20
vga landscape cfg with mapped keys (no wvgafix) on post 23
Can you share a link to duke nukem 3d? i'm interested.
killer8nl said:
Can you share a link to duke nukem 3d? i'm interested.
Click to expand...
Click to collapse
i'm sorry i don't know if I can share this game over xda developers.
Anyway i found that i have version 0.4f in this forum are the instructions on how to install version 0.4g that is more recent. http://forum.ppcgeeks.com/showthread.php?t=28704 i will try it as well.
Basically to switch to landscape you have to edit the DUKE3D.cfg and change to LandscapeMode = 1. The same way you can change your key configs. I've tried it on a samsung i600 and it worked very well. Now on the xperia when I switch to landscape it makes an error.
I remember that i had the same problem with the i600, but I don't remember what did change on the cfg, so if you (or anybody else) can find it we will have a very cool game on our xperia. Thank you for your interest
http://forum.xda-developers.com/showthread.php?t=228346&highlight=duke
Rudegar said:
http://forum.xda-developers.com/showthread.php?t=228346&highlight=duke
Click to expand...
Click to collapse
allright, thank yo,u since i'm new here i didn't know what links I could share
Thanks looks nice, will test when my xperia is back from repair center...
ermallimaj said:
allright, thank yo,u since i'm new here i didn't know what links I could share
Click to expand...
Click to collapse
which version do you install fullscreen for xperia? i only see a vga version? im not really sure how to set this thing up. can you assist please?
frankencowx said:
which version do you install fullscreen for xperia? i only see a vga version? im not really sure how to set this thing up. can you assist please?
Click to expand...
Click to collapse
duke 3d for ppc supports different resolutions. i use the same one in a qvga samsung i600 smartphone, on a vga glofiish m800 and on xperia.i am using version 0.4f.
on the xperia, it works on portrait only. the default cfg file worked ok for me. I am trying to share the whole folder in order for anybody to test, it may take some time because my connection is not workin well. In the meantime try downloading it from the thread above. Just remember to set in the config file the screen width and lengh to 0 (zero) so the app stretches itself on full screen.
ermallimaj said:
i'm sorry i don't know if I can share this game over xda developers.
Anyway i found that i have version 0.4f in this forum are the instructions on how to install version 0.4g that is more recent. http://forum.ppcgeeks.com/showthread.php?t=28704 i will try it as well.
Basically to switch to landscape you have to edit the DUKE3D.cfg and change to LandscapeMode = 1. The same way you can change your key configs. I've tried it on a samsung i600 and it worked very well. Now on the xperia when I switch to landscape it makes an error.
I remember that i had the same problem with the i600, but I don't remember what did change on the cfg, so if you (or anybody else) can find it we will have a very cool game on our xperia. Thank you for your interest
Click to expand...
Click to collapse
Here is what I've posted on modaco about landscape issues:
I've noticed, the thing about landscape is you need to play around with the resolutions. For example, on my Tilt it would crash on landscape. Bear in mind my Tilt's landscape resolution is 320x240. I found I was actually able to run it at 319x240 and it run perfect. Odd, yes?
So when playing with the config file try playing around with the numbers, subtract 1 pixel from your device's actual resolution and see if it fixes the problem.
Click to expand...
Click to collapse
PM me if you want, I might be able to help (although I don't own the xperia)
mikeeey said:
Here is what I've posted on modaco about landscape issues:
PM me if you want, I might be able to help (although I don't own the xperia)
Click to expand...
Click to collapse
thank you i will try it.
Things like these are just so awesome that it doesn't matter how unpractical they are. F yeah!
tried to change resolutions it doesn't work
it is very strange that it works on portrait but not on landscape....
i was thinking.... is there any way to contact original developer spv3d ??
do they have an email or something ?
anybody any ideas?
tied to change resolutions it doesn't work
it is very strange that it works on portrait but not on landscape....
i was thinking.... is there any way to contact original developer spv3d ??
do they have an email or something ?
anybody any ideas?
Anyone got some key IDs for duke nukem 3D? On my xperia only D-pad and center button are working. I wish to configure call start/end button, volume buttons and softkeys. Any idea how can i get these codes?
Anyone can link the cfg file to use with Xperia.
My version don't work!
Thank's
i'm having problems uploading a file in xda forum. i will upload it to another server tomorrow.
ermallimaj said:
i'm having problems uploading a file in xda forum. i will upload it to another server tomorrow.
Click to expand...
Click to collapse
Thank's. I'll wait!
here is the cfg file. i have mapped the menu key to volume down key (use dpad to navigate menu). to shoot you have to tap the screen. i didnt map other keys since i'm still waiting for landscape mode. tell me if it works...
ermallimaj said:
here is the cfg file. i have mapped the menu key to volume down key (use dpad to navigate menu). to shoot you have to tap the screen. i didnt map other keys since i'm still waiting for landscape mode. tell me if it works...
Click to expand...
Click to collapse
Very thank's but don't start!
This is the error:
Unrecoverable exception - see crach dump in latest \spvDuke3D_Crash.txt
Here is the file spvDuke3D_Crash.txt contents:
----------------------------------------
Exception Access Violation Flags 00000000 Address 000e47ac
Parameter 0 00000001
Parameter 1 57300000
----------------------------------------
Context dump
R0=00000000 R1=002adca0 R2=00000000 R3=01c10021 R4=00000001
R5=57300000 R6=002adee0 R7=00000320 R8=002adca0 R9=000f9a1c
R10=00000000 R11=000f9a18 R12=00000000
Sp=1999f680 Lr=57244800 Pc=000e47ac Psr=2000001f
----------------------------------------
Memory dump at 000e477a
20 e0 00 00 51 e3 80 50
8e e0 00 00 96 e5 07 30
80 e0 0c 00 9d e5 01 70
87 e0 00 40 a0 e1 09 00
00 da 01 00 d3 e4 01 40
84 e2 80 10 88 e0 b0 20
d1 e1 b0 20 c5 e1 00 20
9b e5 00 10 99 e5 82 50
45 e0 01 00 54 e1 f5 ff
ff ba 01 a0 8a e2 02 00
5a e1 e9 ff ff ba 1f 00
00 ea d8 e0 9f e5 04 b0
a0 e1 00 90
Salvestro said:
Very thank's but don't start!
This is the error:
Unrecoverable exception - see crach dump in latest \spvDuke3D_Crash.txt
Here is the file spvDuke3D_Crash.txt contents:
----------------------------------------
Exception Access Violation Flags 00000000 Address 000e47ac
Parameter 0 00000001
Parameter 1 57300000
----------------------------------------
Context dump
R0=00000000 R1=002adca0 R2=00000000 R3=01c10021 R4=00000001
R5=57300000 R6=002adee0 R7=00000320 R8=002adca0 R9=000f9a1c
R10=00000000 R11=000f9a18 R12=00000000
Sp=1999f680 Lr=57244800 Pc=000e47ac Psr=2000001f
----------------------------------------
Memory dump at 000e477a
20 e0 00 00 51 e3 80 50
8e e0 00 00 96 e5 07 30
80 e0 0c 00 9d e5 01 70
87 e0 00 40 a0 e1 09 00
00 da 01 00 d3 e4 01 40
84 e2 80 10 88 e0 b0 20
d1 e1 b0 20 c5 e1 00 20
9b e5 00 10 99 e5 82 50
45 e0 01 00 54 e1 f5 ff
ff ba 01 a0 8a e2 02 00
5a e1 e9 ff ff ba 1f 00
00 ea d8 e0 9f e5 04 b0
a0 e1 00 90
Click to expand...
Click to collapse
sorry my fault. i hope you didn't lose to much time on it. it was my cfg for testing landscape....and it doesn't work. here is the working one, i've tested it with my xperia if it doesn't work tell me so i will upload the whole folder with the game.( i can't do it now because i have a very slow connection) sorry again

[Q] Teamspeak 3 for the Android

Welcome to this new and important thread about the Teamspeak 3 Client for Android. We all need it so badly, always connected with Teamspeak on the PC, and now with your mobile where ever you go, you can talk with your Teamspeak buddies. Anyways, that would be wonderfull!!!! And also because Skype gets removed by Nimbuzz and Fring, we need a good alternative that doesn't rely on making money.
So to start off, I have to tell you, this app doesn't exist yet.
But we can make a difference!
If we all work together on this, I know we can do this.
So I did some research, and i want to share that research with you, so maby WE (as xdadevelopers) can do this.
First of all we need to look at how Teamspeak works and what functionalities and options we need to give the Teamspeak Android Client. (aah a nice name TAC, will keep using that one).
(cant post links to outside websites so i post the ts3architecture later when i have more post. Also go to the official TS3 website to download the SDK.
As far a codec for voice communication the Speex codec is the most commonly used in TS.
I spoke with a person who told me he managed to port the Speex codec onto the android. But I dont have access to that code. maby in the future....
So as far as SDK for Android.... I also heard about an NDK, (Native Developers Kit), so is this project more suitable for the NDK?
As far as i know from Teamspeak experiance we only need the UDP part to work, to have an voice communication.
Please all post your replies, comments, love, and support.
Cheers DesireDroid
That will be great!
I would buy it if anyone develop it!!!
I don't know anywhere near enough to help develop, but I'd certainly buy the app.
sipdroid has speex and is open source (GPL, i think). i might be able to get something working, but i probably won't have time to look at teamspeak until next week.
hotaru said:
sipdroid has speex and is open source (GPL, i think). i might be able to get something working, but i probably won't have time to look at teamspeak until next week.
Click to expand...
Click to collapse
I will look into sipdroid right away.
And help in a week is still help. So we got our first helper ;-)
Cheers, and stay tuned.
Sent from my HTC Desire using XDA App
Who wants this app and want to contribute?
reversing protocol and api is not easy, nor legal but doable
Hi,
first of all, if we do this i would recommend to gather up some folks on a sourceforge website.
i have experience in VoIP, network protocol and android programming, because its my job. Thats why i'm afraid sipdroid is of no help because TS3 has a complete proprietary (and encrypted) protocol. I already know how to encode speex on android/java no problem here. the real trick is to break the ts3 protocol, because the support client API SDK is of no use, because its precompiled (and not for ARM V5/7 CPUs).
I took the time to have a loot at TS3 UDP packet structure and it does not look very promising because they are using obviously some kind of encryption that is somewhere hardcoded in the client library. I think it is a lightwight encryption, maybe even combination of MD5 or some easy bit operations. But resulting network traffic does not contain any default encoded values (like asn1 int/strings/...). I was not able to do a fake login. In order to do this someone needs to disassemble the TS3 Client library. This one really needs to know what he is doing. The compile library is 4MB in size, so there is a lot of stuff. I think it is out of my scope. However, it can be done, but it is anything else than of easy.
here are my first wireshark results:
PHP:
Facts:
- UDP only (think so, even though TCP is mentioned in docs)
- Default port: 9987
General Structure:
- Each packet heads a 8Byte hash.
- Hash MAY contain a checksum and/or sequence
- Once connection is established a keepalive an ack ist looped containing a sequence number (in plain)
================
Connecte Request (1 client packet)
HASH (each packet)
00000000 [e0 e2 2e d8 fd cd 03 3b] 00 00 00 00 02 9d 74 8b .......; ......t.
00000010 45 aa 7b ef b9 9e fe ad 08 19 ba cf 41 e0 16 a2 E.{..... ....A...
VARIABLE PER CONNECTION
00000020 [2b 77 d5 94 fe e7 31 72 e6 d0 a3 2f 2d 59]90 95 +w....1r .../-Y..
00000030 23 3e 00 97 2b 1c 71 b2 4e c0 61 f1 d7 6f c5 7e #>..+.q. N.a..o.~
00000040 f6 48 52 bf 82 6d a9 3a 52 da 23 5f 03 2b d9 bf .HR..m.: R.#_.+..
00000050 3a da 2e aa fe 74 c6 fc 23 de 99 71 23 91 b9 06 :....t.. #..q#...
00000060 16 4a 4e eb 2b 48 ae c3 2d 14 a1 e6 77 cc 68 ab .JN.+H.. -...w.h.
00000070 c1 cf 0f fd 07 ac 0d 42 09 15 bb a0 86 33 2a 23 .......B .....3*#
00000080 08 03 8a 65 81 89 c6 2b 85 82 4b d5 fd f8 61 3c ...e...+ ..K...a<
00000090 b4 39 76 fb cf 18 2a aa 97 9b f7 ad 81 82 33 66 .9v...*. ......3f
000000A0 be 8d
==================
Answer (1 server packet)
HASH
00000000 [be e2 d4 c4 8f 8c 54 51] 00 00 02 97 76 8b 54 ad ......TQ ....v.T.
VAR
00000010 79 e3 af 87 eb aa 1a 19 ba cf 41 e0 16 a2[6c 5e]y....... ..A...l^
VAR LO LO HI hi
00000020 [e3 cf 93 df 2f 4a f9 f2 97 29 22 59]90 95 23 33 ..../J.. .)"Y..#3
VAR LO HI HI LO HI LO HI LO
00000030 08 86 2d 40[29 b6 39 cf 40 e6 c5 3a c6 5a f0 6f][email protected]).9. @..:.Z.o
9c FIX
00000040 65 89 d6[12]c3 62 6f 88 32 7a 69 3e cd a4 12 ce e....bo. 2zi>....
44
00000050 62 fe de 1e 96 d0 0e a9 9f 76 7e cc a7 63 1c 47 b....... .v~..c.G
00000060 0a 94 38 22 f5 f9 06 34 d6 f6 78 92 6c 91 c6 d9 ..8"...4 ..x.l...
00000070 2d fa 2a 8e 10 54 6c 33 91 be 92 3f 2d 2b 0d 3c -.*..Tl3 ...?-+.<
00000080 a2 7c 89 de e2 27 ae b0 53 e4 c7 fd 64 0a e3 2d .|...'.. S...d..-
00000090 2c fc c4 06 0e fc f7 81 f6 de a7 cc 1c 71 bc 80 ,....... .....q..
000000A0 d3 54 8b 02 9a 1b ca ad 92 99 28 62 cc 62 fa 53 .T...... ..(b.b.S
000000B0 1b 13 ec 93
http://wiki.github.com/Youx/soliloque-server/teamspeak-protocol and http://wiki.github.com/Youx/soliloque-server/program-architecture look promising...
this project cares about ts2 protocol not ts3. ts3 is more complicated and not yet reverse engineered.
Maby this is usefull.... got this from the sdk documentation.
Connecting to a server
To connect to a server, a client application is required to request an identity from the Client Lib. This string should be requested
only once and then locally stored in the applications configuration. The next time the application connects to a server, the
identity should be read from the configuration and reused again.
unsigned int ts3client_createIdentity(result);
char** result;
Parameters
• result
Address of a variable that receives the identity string, encoded in UTF-8.
Returns ERROR_ok on success, otherwise an error code as defined in public_errors.h. If an error occured, the result
string is uninitialized and must not be accessed.
Caution
The result string must be released using ts3client_freeMemory. If an error has occured, the result string
is uninitialized and must not be released.
Once a server connection handler has been spawned and an identity is available, connect to a TeamSpeak 3 server with
unsigned int ts3client_startConnection(serverConnectionHandlerID, identity, ip,
port, nickname, defaultChannelArray, defaultChannelPassword, serverPassword);
uint64 serverConnectionHandlerID;
const char* identity;
const char* ip;
unsigned int port;
const char* nickname;
const char** defaultChannelArray;
const char* defaultChannelPassword;
const char* serverPassword;
Parameters
• serverConnectionHandlerID
Unique identifier for this server connection. Created with ts3client_spawnNewServerConnectionHandler
• identity
The clients identity. This string has to be created by calling ts3client_createIdentity. Please note an application
should create the identity only once, store the string locally and reuse it for future connections.
• ip
Hostname or IP of the TeamSpeak 3 server.
If you pass a hostname instead of an IP, the Client Lib will try to resolve it to an IP, but the function may block for an
unusually long period of time while resolving is taking place. If you are relying on the function to return quickly, we
recommend to resolve the hostname yourself (e.g. asynchronously) and then call ts3client_startConnection with
the IP instead of the hostname.
• port
UDP port of the TeamSpeak 3 server, by default 9987. TeamSpeak 3 uses UDP. Support for TCP might be added in the
future.
• nickname
On login, the client attempts to take this nickname on the connected server. Note this is not necessarily the actually assigned
nickname, as the server can modifiy the nickname ("gandalf_1" instead the requested "gandalf") or refuse blocked names.
• defaultChannelArray
String array defining the path to a channel on the TeamSpeak 3 server. If the channel exists and the user has sufficient rights
and supplies the correct password if required, the channel will be joined on login.
To define the path to a subchannel of arbitrary level, create an array of channel names detailing the position of the default
channel (e.g. "grandparent", "parent", "mydefault", ""). The array is terminated with a empty string.
Pass NULL to join the servers default channel.
• defaultChannelPassword
Password for the default channel. Pass an empty string if no password is required or no default channel is specified.
• serverPassword
Password for the server. Pass an empty string if the server does not require a password.
All strings need to be encoded in UTF-8 format.
(hope this isn't to mutch text. its that i cant copy any links in here....
bastard dot sourceforge dot net/libdisasm.html
Anyone can update this thread ?
I need the develop progress..
Hey...
I did ask the TeamSpeak- Team, if they release a Teamspeak3 Version for Android.
They did answer me today and they are saying that they will release a Android.Version and a iPhone.Version. But they didnt told me a releasedate.
So i think now that they will not give us there Sourcecode.. Because they will develop an own Version for Smartphones...
Hurry up Teamspeak Devs... because we all need it !!!
Greetz..
original Answer :
Hallo,
vielen Dank für Ihre Anfrage und für Ihr Interesse an TeamSpeak. Wir beabsichtigen, Support für das iPhone und das Android-Handy anzubieten. Im Moment steht noch kein festes Datum fest, an dem wir die mobilen Plattformen unterstützen werden, aber wir haben dies auf alle Fälle vor. Bitte schauen Sie öfter mal in unsere Webseite unter www.teamspeak.com rein, um die neuesten Nachrichten einzusehen, wenn diese zur Verfügung stehen.
Mit freundlichem Gruß
- Dani
[DE] TeamSpeak Sales
Click to expand...
Click to collapse
THIS will improve my android alot! something i have ALWAYS wanted!
dRaCID01 said:
Hey...
I did ask the TeamSpeak- Team, if they release a Teamspeak3 Version for Android.
They did answer me today and they are saying that they will release a Android.Version and a iPhone.Version. But they didnt told me a releasedate.
So i think now that they will not give us there Sourcecode.. Because they will develop an own Version for Smartphones...
Hurry up Teamspeak Devs... because we all need it !!!
Greetz..
original Answer :
Click to expand...
Click to collapse
Thnxs for your post!
I have heared that they would release the version after the final release of teamspeak3, so yeah just make it final i would say
well i would say, if the TS3 ever comes to android, post here the link.
Sure i would love to see ts3 for android. But be informed: i just tested mumble for android. Its still under development, lacks any options, but just worked 100% for me, talking to my friends
Sent from my HTC Desire using Tapatalk
hello all, was just searching the sime thing that all of u, and found this thread and this forum
3 weeks has gone from the last post.... have anyone any new? or any form to connect to a TeamSpeak server?
P.S.: in teamspeak page, i found they have put a link for download idk what of SDK, it's relationed?
No new News from Teamspeak.. i think the android.app will come out, when they have finish the beta Releases of TS3..
Ok... and until they develop the TS version for android, we cant be on TS somehow?
(with "be" on TS, i mean hear the others, and if it's possible, talk) (no just see the server status)
Thanks for answer, and sorry for my english.
chocapica said:
Ok... and until they develop the TS version for android, we cant be on TS somehow?
(with "be" on TS, i mean hear the others, and if it's possible, talk) (no just see the server status)
Thanks for answer, and sorry for my english.
Click to expand...
Click to collapse
No, you can't. Teamspeak is totally closed. The team lacks development power since early version 2. If you see how long ts3 took, how long the beta takes and how big issues there still wait for being fixed, it makes you cry.
So I doubt the partly incompetent dev team will put any focus on new technologies like mobile in the near future.
If you want something like teamspeak now, use skype or mumble which both work pretty well already
Swyped with my S-OFF'd brain using teh internetz

Categories

Resources