yashsingh1/xdaforums huggingface dataset:
[Milestone 2 General] oTToToTenTanz:
I could've written the same experience. I'm on my fone now and the keyboard sucks. With double typing, tripple typing, double deleting it is slower than on-screen keyboard. (irony on=) thats exactly why I need qwerty (/irony off)

First I thought its software related since I drew the same conclusions as you did. But now I'm thinking its hardware related as well. Why? because people here are writing their problems exists after this software fix and 2nd (and you mentioned it yourself) it worked marvellous during the first 4 month (I have mine for 6 month now).

I also had the xperia x1 and typing got bad after 1 year. I will now send in my Milestone 2 because I'm sick of it. Bad keyboard, bad battery life, random reboots. Plus, there is no software development - not by Motorola, not by anyone.

Soon I will buy the Xperia Pro because I believe SE has changed a lot with their policies and it's great hardware. Maybe HTC or Samsung, but rather not...

Right now Im desperate... :(

aaaah and bad wifi/inet

About freezing with TB: I froze nothing since the firmware update and it is bad. Dont worry. About root idk but shldn't be the problem..
[Milestone 2 General] anothadave:
browsing the forum i noticed that theres a newer software update than the one i had. just installed that. everything seems a little snappier now, also (touch wood) no evidence of any double/triple keypresses so far either. i had stopped using the keyboard for a while but ive been using it all day without any fuss. i remember why i bought the milestone 2 now! lol.

one thing i also noticed when i had the multiple keypress problem, it would do it for text messages and in emails, but not in the search boxes for google or on the android market. which was another indication to me that it was a software problem and not a hardware problem..

not sure what u mean about no software development? theyve made four updates so far... and gingerbread will eventually make it according to one of the head motorola guys. bad battery life?...its no worse than either of my xperias X1/X2s i had. and its no different to any of my friends android/wm7/android phones. its the trade off you have to pay for a modern day smartphone. i found rooting it and freezing unwanted software improved the battery life a bit. but if youve got a phone with a 3 or 4" screen and a 1ghz processor youre not gona get a great battery life. its just physics..lol.

i would be tempted for an xperia if they ever did a keyboard version. the new xperia Arc is a stunning phone. ive always liked sonys designs. but my milestone 2 has been ten times more stable than the xperia x1 and X2 so far. (the x1 fell apart and the X2 software was just shocking, but despite that i did still like them. i wanted them to succeed so bad.) so looks like the droid 3 will be my next phone. apart from the keyboard problem ive been very impressed. but after owning the xperias it wouldnt of taken much to improve lol.
[Milestone 2 General] luigiirace:
I am still not sure that it's only a software problem. Remembering a thing I read on a forum (not sure if xda or not), I am currently trying *without the debouncing patch* to make complete charge-discharge cycles

exclusively with the supplied Motorola charger

and it's definitely working better. After the second complete discharge-charge cycle the problem seems gone. And I repeat, I am not using any patch.

I am also using Better Keyboard 8 instead of the stock keyboard.
[Milestone 2 General] ravandel:
luigiirace can you tell me more about this charge thing? I ve got the debounce app and my keyboard is still driving me crazy, double and tripple letters every sentence :(
[Milestone 2 General] luigiirace:
This is what I tried and what made my keyboard work slightly better (i hope it's not my imagination :-) ) .

- Make your phone discharge until the battery goes to 0% (phone turns off)

- Plug your phone INTO THE ORIGINAL MOTOROLA CHARGER AND CABLE until it goes full battery (the led near the microusb socket goes off) and then turn the phone on.

- Try typing with the hardware keyboard and tell us if it worked for you or not.

UPDATE: I am at the second reboot with this procedure, sometimes i get double "o"s and sometimes double spacebar presses, but not as often as before. I also confirm that i am not currently using the debouncing patch (although i have it installed) .
[Milestone 2 General] w0ndersp00n:
That would be an odd "fix". But got notting to loose, so I will try that out :)
[Milestone 2 General] oTToToTenTanz:
True, it sounds odd. But I myself experienced better typing after fully unloading the battery. But still it is bad and I'm going to send it in.
[Milestone 2 General] w0ndersp00n:
Well. I've just made a RMA request. Right now I have ten buttons that don't work most off the time en all other buttons have this random double pressing issue.

So I guess I've learnt my lesson. HTC it will be the next time.
[Milestone 2 General] stargo:
For everyone having problems with missing keypresses: I have now updated the App to include two more knobs to turn, which have solved the problem with missing keypresses for at least one person (I'm not affected by this problem yet, but the new version still solves the bouncing problem): http://rmdir.de/~michael/ms2-fixes/MS2Debounce-release.apk

Please unload the old module (also possible in the new app) and load the new one before trying to set values and try the default values, they probably work.

What do the different settings mean:

To understand them, you need to have a basic knowledge of how the hardware-keyboard of the MS2 works. It is organized in rows and cols, a current is applied to the columns (outputs) and the rows (inputs) are measured to determine the pressed key.

settle_time: time to wait (in us) after applying the current to the outputs before measuring the inputs (Motorola default: 40us)

poll_time: time between scans (in ms) when no state-change has been detected (Motorola default: 20ms)

debounce_delay: time to wait (in ms) before the next scan, when a state change has been detected. This state-change is also ignored but will become valid when it is still present at the next scan. (Motorola default: 0)

The initial detection of a keypress is triggered by an interrupt which starts the keyboard-matrix polling, so the matrix is not constantly scanned, only when one event was detected and at least one key is still pressed.

You can find the source of the new app and kernel-module at: https://git.zerfleddert.de/cgi-bin/gitweb.cgi/ms2-fixes

And yes, the "GUI" is even uglier ;-)
[Milestone 2 General] w0ndersp00n:
Well, I've tried your work :) To bad it doesn't fix anything for me. I think it's very likely it's a hardware problem on my side, as it's always the same letters which don't respond. Only the double pressing issue is random.

Totally hate this, but really hope your fix does help others with these issues!
[Milestone 2 General] mkmck:
Great to see that You are still working on it :) Time for some tests :)

Have You tried to change values?
[Milestone 2 General] w0ndersp00n:
Yes I did, but some of the keypresses are simply not registered, without pressing it two or three times or even pressing it with a lot of pressure. Also most keys are all on the right of the keyboard (i o p l n m) which makes me suspect even more that it is hardware related in my case. Sucks.

When I open the keyboard and press one of those buttons, the screen doesn't turn on. With most other keys that is the case...
[Milestone 2 General] dangpzanco:
Stargo, it's been a while since you last updated kexec. Are you going to continue? I saw somewhere that a kernel module is needed to access /proc/atags, why is it so important?

Sent from my Milestone 2 XDA App
[Milestone 2 General] RDUKE7777777:
I really appreciate your fix. I completly stopped using the hardware keyboard (which was the reason i bought this damn phone) until i installed your fix.
[Milestone 2 General] AragornPE:
I got a brand new M2 from Moto, up to now it didn't show any problems with keyboard, but I'm going to install it anyway.

Thanks stargo
[Milestone 2 General] stargo:
No, I've essentially given up, as I have a kexec module which works on a nearly identical platform (TI BeagleBoard) and does not work on the MS2. The big problem with that is that there is no way to get debug information from the MS2.

I though I found a debug serial port routed to the headphone connector and the mini-usb-port, but activating it and sending data leads to no signals on both external connectors. I looked at the signal with an oscilloscope, and there was nothing :-(

So I can just say that my module loads the new kernel, deactivates the MMU, flushes the caches sets up the bootargs/initrd and jumps into the new kernel.

Shortly after that, the new kernel hangs and the MS2 gets rebooted by the watchdog timer. This might just be due to missing ATAG information, but I can't know without getting some sort of debug output. (Even toggling a led is impossible in early bootup on this platform, as the led is not connected to a gpio-pin of the processor...)

The ATAGS describe (among others) the hardware setup of the target board so the linux kernel knows where to find which device and how to initialize it. Without these informations, booting a kernel on a modern ARM platform is very hard, as all these informations need to be hardcoded in the kernel. And Motorola did the right thing and just provided it by ATAGS.

But one of the first things the kernel does after parsing the ATAGS and setting everything up is freeing the memory occupied by the ATAGS, as they are no longer needed for the running system. They are only retained when kexec support is built into the kernel.

So sorry, but it does not look good for the kexec solution. Let's just hope that Motorola unlocks the bootloader so we can directly boot custom kernels.
[Milestone 2 General] luigiirace:
"i" "o" "m" often double pressed, and "m" "o" and spacebar often are not responding. stargo's patch didn't help a lot, though i didn't try to change the values (didn't have a clue if raise or lower).

should I send it to service? :(
[Milestone 2 General] w0ndersp00n:
That should be your call :) I'd say tray changing the values. And also try what I did:

- Turn the screen off and slide the keyboard out

- Press the key you think don't work

- If the phone wakes, the key works, otherwise it's quite safe to say it's defective...

I actually have about ten keys that don't work, so that's way to much. I've bought the phone for it's keyboard, so they better fix it.
[Milestone 2 General] patton82:
I had same problems, some letters didn't work (i o p l usually). I solved the problem adjusting frequency and vsel settings of my overclocked cpu, due to stargo debounce fix (debounce over 20ms). I think the "no letters" problem was caused by system lags.

Inviato dal mio MotoA953 usando Tapatalk
[Milestone 2 General] w0ndersp00n:
I didn't change the frequency of my cpu :) I'm running stock vsel for a few weeks, but it doesn't change anything.
[Milestone 2 General] mkmck:
For me this fix works good. I have only changed the settle and poll values to Moto-default and delay to 15ms. All in all I didn't need this new version :P
[Milestone 2 General] luigiirace:
I am currently using the new patch, changed settle and poll values and it looks like it's going a bit better.

Delay 8 settle 90 poll 2

Thanks for pushing me to try again.
[Milestone 2 General] aithnea:
I don't know what it says about how messed up my phone keyboard is but I finally settled on something that is nearly workable with:

delay 10

settle 20

poll 2

Thanks stargo, you're a legend.
[Milestone 2 General] MegaBubbletea:
I just want my £ to a $ sign. =[
[Milestone 2 General] stargo:
That's easy:

1. Get the file /system/usr/keychars/umts_milestone2-keypad.kcm.bin

2. open it with a hex-editor

3. search for the key where you want to put the $-sign:

0000110: 2000 0000 4400 2400 6400 4400 ac20 0000 ...D.$.d.D.. ..

(This is from a german keypad, where the €-sign (ac20, pound will very probably be a300) is on the d-key and should be replaced with the dollar-sign)

4. Replace the utf-16 pound-sign with the $ sign (2400):

0000110: 2000 0000 4400 2400 6400 4400 2400 0000 ...D.$.d.D.$...

(Note the new second dollar-sign, the first one is just the "keylabel")

5. Copy your new keymap to /system/usr/keychars/umts_milestone2-keypad-dollar.kcm.bin

6. Point the symlink to the new keymap:

# rm /system/usr/keychars/sholes-keypad.kcm.bin
# ln -s /system/usr/keychars/umts_milestone2-keypad-dollar.kcm.bin /system/usr/keychars/sholes-keypad.kcm.bin

7. Reboot the phone

I've uploaded my fixed german (DACH) keymap on http://rmdir.de/~michael/ms2-fixes/keymaps-with-dollar/
[Milestone 2 General] MegaBubbletea:
Ok thanks. I'll give it ago. I'm using the UK firmware which has the pound sign and I want a dollar. :D
[Milestone 2 General] MegaBubbletea:
IT WORKS!!! =D

I've edited and uploaded my version of the file. From £ to $.

:D
[Milestone 2 General] dangpzanco:
Someone could make a update.zip ;)
[Milestone 2 General] dangpzanco:
Hey stargo, check out defy's multitouch module at its forum.

I could't get it working so I thought maybe you could port it =)

Sent from my Milestone 2 XDA App
[Milestone 2 General] stargo:
If you can provide me with a link to the source-code, I can try to build it for the MS2.
[Milestone 2 General] MegaBubbletea:
What's this multitouch module?
[Milestone 2 General] dangpzanco:
Here:

http://xdaforums.com/showthread.php?t=1162327

PS: There's no source where I downloaded, but now it works!

Sent from my Milestone 2 XDA App
[Milestone 2 General] mkmck:
What do You want to with this module? I don't understand :P

MotoMilestone 2 & TapTalk
[Milestone 2 General] oTToToTenTanz:
fix our buggy multi touch because defy's is just fine?
[Milestone 2 General] dangpzanco:
It enables 5 finger multitouch, motorola default is 2. It is needed for some games.

Sent from my Milestone 2 XDA App
[Milestone 2 General] mkmck:
Guys I would love You! : D MT really sucks in MM2

MotoMilestone 2 & TapTalk
[Milestone 2 General] MegaBubbletea:
*drool* 5 finger multitouch. Someone better start compiling some code!
[Milestone 2 General] rasecrmz:
Hi @dangpzanco, how did you make it work for m2?
[Milestone 2 General] dangpzanco:
Download it (from your phone): http://db.tt/PJKWC0t

And then in terminal:

insmod /sdcard/Download/defy_more.ko

dmesg (just to check the code running)

It stops working after reboot, so you can add that code to the 2nd-init script.

Sent from my Milestone 2 XDA App
[Milestone 2 General] rasecrmz:
Thanks, will try it right now! XD

EDIT:

The multitouch module works, i tested with multitouch tester and now the M2 can detect 5 points, but you know, im not so sure if the touch bug is solved.
[Milestone 2 General] oTToToTenTanz:
why don't you try? And why don't we open a new thread...actually it's spam insider here :P
[Milestone 2 General] aithnea:
It still messes right up in multi touch paint.. same as before.

But hey, more touches with which to mess up! The Milestone 2's ability to disappoint just got magnified, woo!
[Milestone 2 General] imyourdoom:
Perfect !

Thank You soooo much for this module, solved my bounce problems !! Regards !!
[Milestone 2 General] yurifranzoni:
Very nice job! Thank you guys, that fix solved my keyboard issues too. Keep up the good work!
[Milestone 2 General] crazyteknohed:
Since buying my MM2 I have never had any problems with double-tapping letters or unresponsive keys until now. My problems began after I had to do a hard reset for the first time due to freezing issues.

I suspect that the problems are to do with the 2.2.2 update. So my questions are:

- Is there anyone using the old firmware (doubtful) that has the double-press problem?

- Is there anyone using 2.2.2 SBF who hasn't yet done a hard reset since updating the firmware who is experiencing the double-press issue?
[Milestone 2 General] handsomeboy1702:
Had it since 2.2
[Milestone 2 General] MegaBubbletea:
I've never had this problem at all. 2.2 or 2.2.2.
[Milestone 2 General] aithnea:
Well, I certainly had the problem with the old firmware.

I created this thread before the 2.2.2 release :P
[Milestone 2 General] thebestvip84:
Hi,i had this problem before i install Vietnamese IME.After switch to VN-telex kind of type,the problem is solved.so i am sure that this is a software problem,not hardware problem :))
[Milestone 2 General] nanava:
I'm sorry but do not understand.

What do you mean with "After switch to VN-telex kind of type" ?

Thanks for your reply.
[Milestone 2 General] handsomeboy1702:
It's the method used to type vietnamese with the tones, "xin chào" or sth like that
[Milestone 2 General] w0ndersp00n:
I've had my keyboard replaced. Now it seems to be working perfectly again, without any patch whatsoever :)

It -thank God- only took about 10 days to replace it and send it back to me.
[Milestone 2 General] yurifranzoni:
I've been using this fix for about a week and my keyboard issues have almost disappeared.

I mean... since I've installed this patch, the issue has ocurred 3 or 4 times, but before the fix, it was almost impossible to use the keyboard. That's an improvement for sure! Nice work!
[Milestone 2 General] nanava:
Unfortunate did some of my apps go corrupt. Don't know how this happened.

The result was that app half the apps were valid and could be executed. The others did not work anymore. Anyhow the double pressing issue was gone.

Due to this mishappen did I reset my phone with a factory reset and emptied my SD-card. Indeed the double pressing problem is gone.

Any one any thoughts on how the number of apps may influence the pressing of the hardware keys ?
[Milestone 2 General] dangpzanco:
More Apps = More use of the CPU = More Lags = Debounce Problems = Double-Pressing Bug

@Milestone 2 (Finnaly on Gingerbread!)
[Milestone 2 General] nanava:
Maybe you are right but I doubt it.

? Only those apps which are running should burden the CPU. Eg killing apps did not change the double-press occurance.
[Milestone 2 General] dangpzanco:
There's only one way to kill apps permanently on Android: unninstalling them.

@Milestone 2 (Finnaly on Gingerbread!)
[Milestone 2 General] stargo:
I'm pretty sure it's something going on in the kernel which is blocking interrupts for a long period of time. And the only thing I can think of which could cause this is flash-access. Reading and writing to internal and external flash-memory is probably the cause for the problem, as for example the autocorrect dictionary gets larger and larger. So more installed apps and more use of the hw-keyboard to grow the dictionary is very likely to aggravate the problem. But it is not the real cause of the problem. I still have some ideas how to better fix the real problem, but I'm simply missing the time...
[Milestone 2 General] dangpzanco:
If you wasn't lacking time, I would ask for help in porting CM7 for Milestone 2 from source, to fix all the big problems we have right now.

PS: Have you seen our GB leak?

@Milestone 2 (Finnaly on Gingerbread!)
[Milestone 2 General] carmeloa:
hi!

i have downloaded and istalled the app MS2Debounce-debug.apk

but when i open it, i put 20 ms delay, next i press load, but they don't load.

in fact down, in debounce_dalay is written -1 ms.

why don't work with me?

I started using my mm2 recently so i don't know well how it work!

hoping to help me.

thank you!
[Milestone 2 General] stargo:
You need root-access to your phone for the app to work. I should have added more error messages ;-)

And you should no longer use the old debug-version but the new version with more knobs: https://rmdir.de/~michael/ms2-fixes/MS2Debounce-release.apk
[Milestone 2 General] teoteoxda:
old milestone user, new happy user

Hello all,

I´ve been following this thread for a while. Since I got my ML2 (~6 months) I have been experiencing these problems with my physical keyboard.

I didn't try the app from stargo because I was afraid it wasn't a definitive solution.

Instead, like w0ndersp00n, I sent my phone back to motorola, and it came back yesterday. For the first time, with perfect keyboard. So far, so good.

The motivation for registering at xda and writing here is that I could notice, from the stickers under the battery, that the phone was disassembled there. So, this could be a indication that this problem is caused by hardware, not software.

I will post if the problem come back, but, from my experience so far, I would suggest for other people to send the phone for repair ;)

Like many, I was so tired of the mistyping that I was using the touch screen.... the physical keyboard is SO much better :):):):)

best regards!

Teo
[Milestone 2 General] carmeloa:
maybe you are right but for whom that installed the app, they lose guaranty becouse of the root, and i saw in this post that someone resolved with this module! so why send your phone to motorola if you can fix it with this module?
[Milestone 2 General] teoteoxda:
I agree that was a pain in the ass to be without the phone for 2 weeks.

Before send it, I was rooted and running argen2stone 1.5. I just downgraded to original sbf and unrooted. I didn't lose warranty.

I've read here about people adjusting the parameters of the module... and I was kind of tired of trying, that is why I´ve sent it to repair.

Anyway, if the module is working perfectly, that is good enough :)

Is it working for everybody that had the problem??
[Milestone 2 General] stargo:
If anyone with non-working keys or still bouncing keys feels adventurous, I've now additionally enabled the hardware-debouncing feature of the OMAP processor on the input-pins of the keyboard matrix. It seems to work for me, but I would like to hear back from people who have problems with non-working keys.

You can find the new apk here: https://rmdir.de/~michael/ms2-fixes/MS2Debounce-hwdebounce.apk (The hardware debouncing is activated automatically when the module is loaded)
[Milestone 2 General] Endless7:
Hey, https://github.com/CyanogenMilestone2 need you ;)
[Milestone 2 General] patton82:
Hi Stargo, thanks for your work. How do you set the new value for hardware debounce?

It seems to use different value (value 1 returns 62~ uS)

Inviato dal mio MotoA953 usando Tapatalk
[Milestone 2 General] stargo:
It's how the hardware interprets the value: (value+1)*31 us
[Milestone 2 General] Element79:
Guys, I've been following the thread for a while now, I do appreciate everyone's efforts in this matter, however I got fed up with the issue as it never totally went away.

I have sent my MS2 back to Motorola under warranty, and they have actually fixed my keyboard. Perhaps some new hardware version :confused:, but the double-pressing is GONE. :D

I would suggest everyone to do the same.
[Milestone 2 General] dangpzanco:
Just in case, for fun, see if you can get to fastboot mode (unlocked bootloader).=P

Sent from my Milestone 2 XDA App
[Milestone 2 General] luigiirace:
I installed GB MIUI and the problem seems gone for now. Will let you know in the next days .
[Milestone 2 General] luigiirace:
Problem is still here, came back after 2 days. I tried the new apk, but on gingerbread MIUI hw debounce doesn't work. Can you try to fix this, dear OP? :)

I am available for any kind of testing, though I am not a developer and can't help in other ways (I think)
[Milestone 2 General] stargo:
Hmm, debouncing should still work on MIUI with Froyo and GB Kernel. But HW debounce will only work with values 0, 1 and probably 2 without increasing the settle time (by a huge amount!). I'm currently using 7/80/2/1(enabled).

Drive inactive probably helps for not detected keys, but will kill detection of some multi-key-presses.

There are other parameters which could help, but they can't be changed without a kernel recompile or a very bad hack (they are only used on bootup when initializing the keymatrix).
[Milestone 2 General] luigiirace:
Despite the checkbox of HW debounce set to "Enabled", when I click "Set" it keeps saying "hw_debounce: disabled, 0us (-1)", with every value I put in.

The very weird thing: in the first 2 days of MIUI usage, the keyboard worked FLAWLESSLY. Thank you anyway, really thank you!