• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

F22's Latest Rootfs (Apr 19th, 2011) Highlandsun's RIL Support Patches Merged + More

Search This thread

F22

Senior Member
Oct 24, 2009
342
143
April 19, 2011 Update #2 - Second new rootfs of the day for those who want to use Hylandsun's RIL. The old sed line bug was inadvertently reintroduced in the merge request. It's now fixed.

April 19, 2011 Update #1 - A new init.android binary has been added to the rootfs version that supports Hylandsun's RIL. It was missing from the patches in the merge request used to make yesterday's build.

April 18, 2011 Update - Highlandsun's rootfs RIL support patches have been merged into my rootfs. There are now two versions, a vanilla version without support for his ril, and a second version with all the rootfs patches needed to support it. Note that you'll still need the RIL and any other modifications he may have made to the system.ext2 partition. See the changelog below for other additions.

---

I've overhauled -ALL- of the rhodium keymaps and layouts and added lots of new keys. I'm thus making a rootfs image available for testing before these changes get submitted to the git tree. It is built from the latest stock rootfs (Feb. 5th) with my modifications added on top. Changes from the stock rootfs include:

1) Key Map/Layout Sets Added and/or Fixed: Support for the rhod100_es (European Spanish), rhod100_nl (Dutch), and rhod110 (Australian) keyboards has been added. Bombenbach's umlaut fixes have been incorporated into the rhod100_de (German) keymap.

2) Camera Button: Rhod300/Tilt2's have their push to talk button assigned to camera by default. All other rhodium models have the option to reassign front panel button #4 (end) to CAMERA by adding gpiokeyopts=b4CAMERA to set cmdline in startup.txt. See note underneath (2) for info on losing ENDCALL.

3) Home Button: There are three possibilities for those desiring a HOME button whose long press will open up the recent apps list:
  1. Reassign the end button to HOME by adding gpiokeyopts=b4HOME to set cmdline in startup.txt.
  2. Reassign the power button to HOME and the end button to POWER by adding gpiokeyopts=b4POWER-powerHOME to set cmdline in startup.txt.
  3. Reassign the call button to HOME by changing physkeyboard=<your_rhod_model> to physkeyboard=<your_rhod_model>-b1HOME on set cmdline in startup.txt.
NOTE: If you reassign the end button you will lose its ability to end calls. You can still end a call by pressing Menu and then tapping end call. Alternately you can go into Settings->Accessibility and check the box that says: Power Button Ends Call. This will give the power button the additional ability to end calls during a call. If you've reassigned the power button via option (2) above, then this will be your old end button.

4) SYM Key: The symbol key now works.

5) Ctrl Key: The control key now works within Terminal Emulator, ConnectBot and other apps that recognize dpad_center (sometimes referred to as the "jogball") as ctrl. On the rhodium 300, 400 and 500's which don't have a printed ctrl key, this functionality has been assigned to the OK (300/Tilt2), SMS (400) and star (500) keys respectively. Do not hold this key down. Simply press it once much like you would the shift or alt keys before pressing the appropriate letter.

6) Search Key & Shortcuts: The Envelope key is now Search. Holding down Envelope and pressing another key also acts as a shortcut. By default:
  • envelope+b opens up the browser.
  • envelope+c opens up contacts.
  • envelope+e opens up email.
  • envelope+g opens up gmail.
  • envelope+l opens up the calendar.
  • envelope+p opens up the music player.
  • envelope+s opens up messaging.

    All rhodiums now have the ability to reassign front panel button #4 (end) to SEARCH as well by adding gpiokeyopts=b4SEARCH to set cmdline in startup.txt.
For the complete list along with the ability to assign/reassign them go to Settings>Applications>Quick launch.

7) Rhod300/Tilt2 - Search Key & Shortcuts: No dedicated envelope key is present (it shares a button with "," ), but the home keyboard key and/or the push to talk key may be reassigned to Search by extending the physkeyboard=tilt2 or physkeyboard=rhod300 entry in startup.txt to physkeyboard=rhod300-homeSEARCH, physkeyboard=rhod300-pttSEARCH, or for both, physkeyboard=rhod300-homeSEARCH-pttSEARCH.

8) Rear Mute Button - This button now mutes the mic during calls.

9) Lots of other keys added. All keyboards get all of the characters commonly found on desktop keyboards including, but not limited to, braces, brackets, the pipe, the tilde, the backslash, the backquote, and inequality symbols. And yes, the Italian keyboard finally gets the "?" character! See the spreadsheet available under downloads below for details on all the additions for each rhodium model. It is saved in the open document spreadsheet format.

Changelog
Apr 18th
  • Git Pull: add sysfs amber led and auto_backlight write support
  • Significantly Reduced rootfs size by deleting unneeded overhead.
  • Reduced 7zip dictionary size from 16MB to 1MB to enable decompression directly on the TP2.
Apr 13th
  • The Spanish Rhod100 keyboard (rhod100_es) is now supported. Mewzicki's adjustments have been merged in with mine.
Mar 1st
  • Git Pull: gingerbread: Decouple libs from rootfs, use versions provided in /system.
Feb 28th
  • Updated Init Logic - gpio key options now prefixed with "gpiokeyopts=", so b4HOME is now gpiokeyopts=b4HOME
  • New Option: gpiokeyopts=b4POWER-powerHOME - reassigns the power button to home and the end button to power.
  • New Option: gpiokeyopts=b4SEARCH - reassigns the end button to search.
  • New Option: gpiokeyopts=b4CAMERA - reassigns the end button to camera, requires working camera.
  • New Option: physkeyboard=<your_rhod_model>-b1HOME - reassigns the call button to home.
Feb 13th
  • Rhod110: Added missing symbolic link to fix key layout.
  • Rhod300/Tilt2: Changed the keycodes assigned to the ! and @ keys to alternatives that are less likely to cause issues, and thus work more reliably.
Feb 10th
  • Git Pull: New RIL.
Feb 9th
  • Git Pull: New libsensor (fixes the system_server bug, please report back on this).
  • Git Pull: Memory Handling Fix.
Feb 6th
  • Git Pull: New RIL (Radio Interface Library).
  • Support for rhod110 added.
Feb 2nd b
  • Bug Fix: Startup options tilt2-pttSEARCH, tilt2-homeSEARCH, rhod300-pttSEARCH and rhod300-homeSEARCH now correctly assign SEARCH when selected.
Feb 2nd a
  • Bug Fix: Corrected typo in rhod500 microp layout file preventing it from loading.
Feb 1st
  • Bug Fix: Created missing link which prevented the tilt2 microp layout file from being copied to the right place.
  • Added default keymap/layout set (rhod100_uk) for rhodium if none specified.
Jan 31st
  • initial release

Downloads
Rootfs Image - rootfs-f22-20110418-aaf47ce.img.7z (Updated Apr. 18th - see changelog above for details.)
Rootfs Image w/Highlandsun RIL support - rootfs-f22-hyc-20110419-e96477d.img.7z (Updated Apr. 19th - Fixed bad sed line in init, Added missing init.android binary.)
Complete Key Listing Spreadsheet - f22_pub_rhodium_keymap_project_20110418.ods (Updated April 18th - now includes new Spanish Key Map keys.)

Instructions
1) Download the rootfs image listed above.
2) Unzip the file via the 7zip utility.
3) Rename it to rootfs.img.
4) Drop it into your android boot folder.
5) If you wish to reassign the end button to something else, then add/edit one of the following to set cmdline in startup.txt:
  • gpiokeyopts=b4HOME
  • gpiokeyopts=b4POWER-powerHOME
  • gpiokeyopts=b4SEARCH
  • gpiokeyopts=b4CAMERA
6) If you wish to reassign the call button to home, then change physkeyboard=<your_rhod_model> to physkeyboard=<your_rhod_model>-b1HOME. Examples:
  • rhod100_uk-b1HOME
  • rhod210-b1HOME

7) If you have a Rhod300/Tilt2 and wish to reassign either the home keyboard key or the push to talk button to search, then change physkeyboard=tilt2 in startup.txt to:
  • physkeyboard=rhod300-homeSEARCH or physkeyboard=tilt2-homeSEARCH
  • physkeyboard=rhod300-pttSEARCH or physkeyboard=tilt2-pttSEARCH
  • physkeyboard=rhod300-homeSEARCH-pttSEARCH or physkeyboard=tilt2-homeSEARCH-pttSEARCH

Note that the b1HOME option given in (6) above may be tacked on also. Examples:
  • physkeyboard=rhod300-b1HOME-homeSEARCH
  • physkeyboard=rhod300-b1HOME-pttSEARCH
  • physkeyboard=rhod300-b1HOME-homeSEARCH-pttSEARCH
8) Restart your phone in Android.
9) If you remapped your endcall button to something else and would like to now assign your power button the ability to end calls while within a call, go to to Settings->Accessibility and check the box that says: Power Button Ends Call.
10) Download the Complete Key Listing spreadsheet above if you're interested in seeing the complete list.

Enjoy your new keys. :)
 
Last edited:

F22

Senior Member
Oct 24, 2009
342
143
Available Keymaps/Layout Sets

In this rootfs, the following rhodium keymap/layout sets are available:

rhod100_de
rhod100_es - new!
rhod100_fr
rhod100_it
rhod100_nl - new!
rhod100_nordic
rhod100_uk
rhod110 - new!
rhod210
rhod300 or tilt2
rhod400
rhod500

They may be selected in the usual physkeyboard= manner from within the startup.txt file in the android boot folder. If you experience issues with any of these keymap/layout sets after downloading & installing the rootfs above please do not hesitate to let me know.
 
Last edited:

XavierGr

Senior Member
Nov 1, 2008
239
2
Heraklion, Crete
In this rootfs, the following rhodium keymap/layout sets are available:

rhod100_de
rhod100_fr
rhod100_it
rhod100_nl
rhod100_nordic
rhod100_uk
rhod210
rhod300 or tilt2
rhod400
rhod500

What about rhod100_gr? I have a rhod100 device with greek layout. The only difference is that the envelope key will toggle between English and the respective Greek characters. Any pointers how to achieve this?
 
  • Like
Reactions: juni0088

arrrghhh

Inactive Recognized Developer
Feb 10, 2007
11,907
3,854
Nice work F22, lookin forward to seeing this committed! I'll test this out sometime today, doing some battery testing for WisTilt2 :p.

Glad to see you did both rhod300 and tilt2, so old startups don't break and new ones can actually make sense by using rhod300!

I do have one stupid question that I'm pretty sure you've partially answered already - if you do the b4Home trick, and don't remap power=end call, you lose the end call button... correct? If so, you may want to add that caveat with this line
F22 said:
1) Home Button: The End button (front panel button 4) may now be reassigned to Home by adding b4Home to set cmdline in startup.txt. A long press of the home button will also pull up the recent apps list.
Y'know, for stupid people like me ;).

Thanks again! I'll give ya some feedback later.
 

F22

Senior Member
Oct 24, 2009
342
143
Rhod500 Issue

rhod500 has no space bar :-\

edit:
no phone, settings, back buttons

That sounds like a microp layout issue. Look at the contents of /sdcard/kbd_info and tell me what you see. As an example, here is what I'm seeing in mine:

Selected Keyboard: rhod210
RhodInfo=rhod210
RhodModel=rhod210
Rhod100Lang=
RhodOptions=
mpkl=rhod210
Selected MicroP Key Layout: /init.etc/keymaps/rhod210_microp-keypad.kl
Selected MicroP Key Code Map: /init.etc/keymaps/rhod210_microp-keypad.kcm
Mapping Button 4 to HOME

I expect that yours should say rhod500 wherever mine says rhod210. Note that this file is only written to if you're running my rootfs. It will still be present however if you switch back to your original rootfs. I created it specifically to help debug issues like yours. It would also be helpful if you'd post your startup.txt just to make sure that looks good as well.
 
Last edited:

F22

Senior Member
Oct 24, 2009
342
143
Greek & Other Cyrillic Keyboards

What about rhod100_gr? I have a rhod100 device with greek layout. The only difference is that the envelope key will toggle between English and the respective Greek characters. Any pointers how to achieve this?

I only updated the existing key maps/layouts in the repo, and unfortunately Greek wasn't in that list. The Cyrillic key layout on the Greek keyboard presents an additional layout issue, ie. the language key you just mentioned . To be entirely honest at this point, I'm not certain how android handles that. I can look at android's documentation as my time permits. What native android handsets are currently available in Greece or Russia? If we could pull the key layout/map files off of one to serve as an example, that would make creating Cyrillic layout/map sets much easier.
 
Last edited:

F22

Senior Member
Oct 24, 2009
342
143
Nice work F22, lookin forward to seeing this committed! I'll test this out sometime today, doing some battery testing for WisTilt2 :p.

Glad to see you did both rhod300 and tilt2, so old startups don't break and new ones can actually make sense by using rhod300!

I do have one stupid question that I'm pretty sure you've partially answered already - if you do the b4Home trick, and don't remap power=end call, you lose the end call button... correct? If so, you may want to add that caveat with this line Y'know, for stupid people like me ;).

Thanks again! I'll give ya some feedback later.

LOL! Ok. Done. (On the caveat.)
 

jmstumme

Senior Member
May 21, 2007
124
14
Iowa
Code:
Selected Keyboard: rhod500
RhodInfo=rhod500
RhodModel=rhod500
Rhod100Lang=
RhodOptions=
mpkl=rhod500
Selected MicroP Key Layout: /init.etc/keymaps/rhod500_microp-keypad.kl
Selected MicroP Key Code Map: /init.etc/keymaps/rhod500_microp-keypad.kcm
Mapping Button 4 to ENDCALL
Selected Keyboard: rhod500
RhodInfo=rhod500
RhodModel=rhod500
Rhod100Lang=
RhodOptions=
mpkl=rhod500
Selected MicroP Key Layout: /init.etc/keymaps/rhod500_microp-keypad.kl
Selected MicroP Key Code Map: /init.etc/keymaps/rhod500_microp-keypad.kcm
Mapping Button 4 to ENDCALL
Selected Keyboard: rhod500
RhodInfo=rhod500
RhodModel=rhod500
Rhod100Lang=
RhodOptions=
mpkl=rhod500
Selected MicroP Key Layout: /init.etc/keymaps/rhod500_microp-keypad.kl
Selected MicroP Key Code Map: /init.etc/keymaps/rhod500_microp-keypad.kcm
Mapping Button 4 to ENDCALL

Sent from my MSM using XDA App
 
Last edited:

XavierGr

Senior Member
Nov 1, 2008
239
2
Heraklion, Crete
To be entirely honest at this point, I'm not certain how android handles that. I can look at android's documentation as my time permits. What native android handsets are currently available in Greece or Russia? If we could pull the key layout/map files off of one to serve as an example, that would make creating Cyrillic layout/map sets much easier.

Currently Desire Z is a native Greek android phone. I looked on the HTC Greek manual and the keys are double inscribed (corresponding Greek characters are inscribed next to the Latin ones). This means that Desire Z can write Greek with the hardware keyboard but I am not sure which is the exact procedure to change between layouts.
 

F22

Senior Member
Oct 24, 2009
342
143
Re: Rhod500 Issue

[Codes]Selected Keyboard: rhod500
RhodInfo=rhod500
RhodModel=rhod500
Rhod100Lang=
RhodOptions=
mpkl=rhod500
Selected MicroP Key Layout: /init.etc/keymaps/rhod500_microp-keypad.kl
Selected MicroP Key Code Map: /init.etc/keymaps/rhod500_microp-keypad.kcm
Mapping Button 4 to ENDCALL
Selected Keyboard: rhod500
RhodInfo=rhod500
RhodModel=rhod500
Rhod100Lang=
RhodOptions=
mpkl=rhod500
Selected MicroP Key Layout: /init.etc/keymaps/rhod500_microp-keypad.kl
Selected MicroP Key Code Map: /init.etc/keymaps/rhod500_microp-keypad.kcm
Mapping Button 4 to ENDCALL
Selected Keyboard: rhod500
RhodInfo=rhod500
RhodModel=rhod500
Rhod100Lang=
RhodOptions=
mpkl=rhod500
Selected MicroP Key Layout: /init.etc/keymaps/rhod500_microp-keypad.kl
Selected MicroP Key Code Map: /init.etc/keymaps/rhod500_microp-keypad.kcm
Mapping Button 4 to ENDCALL
[/code]

Sent from my MSM using XDA App

Hmmm...that looks exactly as it should. Is anyone else with a rhod500 experiencing this issue? When I return later tonight I'll tell my rhodium it has a 500 kbd and see if I experience the same issue. The three microp front panel buttons (call, menu, back) are the same across all of the model layouts.
 

F22

Senior Member
Oct 24, 2009
342
143
Currently Desire Z is a native Greek android phone. I looked on the HTC Greek manual and the keys are double inscribed (corresponding Greek characters are inscribed next to the Latin ones). This means that Desire Z can write Greek with the hardware keyboard but I am not sure which is the exact procedure to change between layouts.

The easiest/quickest way to make a Greek key map/layout for the rhod100_gr is to get someone you know who has a Desire Z to copy the .kl & .kcm files off their handset and use them as a guide. Alternately, if we can obtain a Greek version of the Desire Z ROM then we can pull the required files off it. Failing that we'd need to first look up how to handle the language key in the android docs and replace envelope with that in a new Greek key layout file, and then find the utf8 representation of each Cyrillic character and add them all to a new Greek keymap. It would be far quicker to pull the utf8 hex codes from a pre-existing Android Greek .kcm file however.
 

dancingtimmy

Member
Oct 21, 2008
5
0
Toronto
I tried this out today on a rhodium100 using rhodium100_uk setting. I originally did not try the b4Home cmdline option, but found a problem with prehome.

I used spare parts to set the end key to be home. and then set prehome to be my home app and then configed prehome to launch launcher as the home app. The "end" key worked as desired and launched prehome. But I could not get the second press of home (while in prehome) to trigger and launch launcher. Nor would a double press of home get me to the launcher.

This issue could be a prehome issue.

I will do some more testing tomorrow using the b4Home feature (first test of it did not work too well as i seem to be stuck in prehome with no way of getting out as the home key does nothing once inside prehome).
 

dancingtimmy

Member
Oct 21, 2008
5
0
Toronto
I have confirmed that the b4Home option has no effect on my rhodium 100. Maybe I am doing it wrong? I simply added the text b4Home as an extra argument inside the quotes of the set cmdline in startup.txt. (I also tried b4home - lowercase h). During these tests i removed the spare parts setting for the end key.

The only way I can get a working home key is to use spare parts and assign home as the end key action. Single press of home then works correctly, but a double press does not work (it seems to do nothing). A press of the home key after invoking prehome or task switcher does nothing.

I have a very early T7373 model and am using the 100_uk keyboard setting as I have the dollar, euro and pound symbols on my keyboard.

I believe i applied the rootfs.img correctly as the envelope key opens search and envelope b opens the browser.

About phone reveals
Android version 2.2.1
kernel version 2.6.27.46-01202-g6c41ca6
build number FRX03

I previously had installed android back in september and was never able to get a working home key.

Any hints on other tests / tweaks I could perform?
 

F22

Senior Member
Oct 24, 2009
342
143
Combining b4home with the spare parts option

If we use this b4home option, is the Spare Parts end button setting relevant any more? Do we have to undo anything on that setting, or does it just not matter?

The Spare Parts setting becomes irrelevant if the b4home option is used. The Spare Parts option changes the behavior of the button assigned the ENDCALL keycode. The b4home option on the other hand changes the actual keycode of the button from ENDCALL to HOME. There is thus no longer a button or key assigned the keycode ENDCALL for Spare Parts to modify.
 
Last edited:

F22

Senior Member
Oct 24, 2009
342
143
GPIO key layout not loading properly.

I tried this out today on a rhodium100 using rhodium100_uk setting. I originally did not try the b4Home cmdline option, but found a problem with prehome.

I used spare parts to set the end key to be home. and then set prehome to be my home app and then configed prehome to launch launcher as the home app. The "end" key worked as desired and launched prehome. But I could not get the second press of home (while in prehome) to trigger and launch launcher. Nor would a double press of home get me to the launcher.

This issue could be a prehome issue.

This isn't entirely surprising. The option in spare parts doesn't truly make endcall the home key, it just enables the endcall key to function as home on short presses. Long presses still don't work, and if preHome checks the actual keycode of the key, it will see endcall and not home. So I'm not particularly surprised that preHome isn't working with the option in spare parts.

I have confirmed that the b4Home option has no effect on my rhodium 100. Maybe I am doing it wrong? I simply added the text b4Home as an extra argument inside the quotes of the set cmdline in startup.txt. (I also tried b4home - lowercase h). During these tests i removed the spare parts setting for the end key.

The only way I can get a working home key is to use spare parts and assign home as the end key action. Single press of home then works correctly, but a double press does not work (it seems to do nothing). A press of the home key after invoking prehome or task switcher does nothing.

I have a very early T7373 model and am using the 100_uk keyboard setting as I have the dollar, euro and pound symbols on my keyboard.

I believe i applied the rootfs.img correctly as the envelope key opens search and envelope b opens the browser.

About phone reveals
Android version 2.2.1
kernel version 2.6.27.46-01202-g6c41ca6
build number FRX03

I previously had installed android back in september and was never able to get a working home key.

Any hints on other tests / tweaks I could perform?

There are actually 2 different layout files that XDAndroid uses depending on the driver responsible for the keys/buttons in question. It sounds like your microp layout file is working splendidly as evidenced by envelope working fine as search/short cuts. Nevertheless it sounds like you're not loading the correct gpio layout file.

The option to reassign button 4 on the front panel to Home is actually b4HOME, and not b4Home or b4home. Linux is case sensitive and there was an error in my instructions above. I've now fixed the instructions in post #1. Thanks for reporting the issue.
 
Last edited:

dancingtimmy

Member
Oct 21, 2008
5
0
Toronto
Awesome!

the b4HOME works a treat on my rhod100_uk. prehome working as expected with launcher now. single, double and long press all work.

no need to remap the end key versus spare parts.

thanks!
 

F22

Senior Member
Oct 24, 2009
342
143
New Rootfs (Feb 1st) - Tilt2 Bug Fixed

I've posted a new (Feb 1st) release of my rootfs. See the 1st post for the download link. It includes two changes:

1) The Feb 1st release fixes a bug biting Tilt2's. In the previous Jan 31st release a symbolic link was missing causing the copying over of the microp keymap binary to fail. Tilt2 users who were experiencing issues with the Jan 31st version should go ahead and try the new version. Thank you randomblame for reporting the bug.

2) It also adds a default keyboard set for rhodium, so that rhodiums will get the rhod100_uk keyboard set assigned by default if no "physkeyboard=" field is present in startup.txt. Previously a non-rhodium keyboard that worked poorly on rhodiums had been assigned.
 
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 10
    April 19, 2011 Update #2 - Second new rootfs of the day for those who want to use Hylandsun's RIL. The old sed line bug was inadvertently reintroduced in the merge request. It's now fixed.

    April 19, 2011 Update #1 - A new init.android binary has been added to the rootfs version that supports Hylandsun's RIL. It was missing from the patches in the merge request used to make yesterday's build.

    April 18, 2011 Update - Highlandsun's rootfs RIL support patches have been merged into my rootfs. There are now two versions, a vanilla version without support for his ril, and a second version with all the rootfs patches needed to support it. Note that you'll still need the RIL and any other modifications he may have made to the system.ext2 partition. See the changelog below for other additions.

    ---

    I've overhauled -ALL- of the rhodium keymaps and layouts and added lots of new keys. I'm thus making a rootfs image available for testing before these changes get submitted to the git tree. It is built from the latest stock rootfs (Feb. 5th) with my modifications added on top. Changes from the stock rootfs include:

    1) Key Map/Layout Sets Added and/or Fixed: Support for the rhod100_es (European Spanish), rhod100_nl (Dutch), and rhod110 (Australian) keyboards has been added. Bombenbach's umlaut fixes have been incorporated into the rhod100_de (German) keymap.

    2) Camera Button: Rhod300/Tilt2's have their push to talk button assigned to camera by default. All other rhodium models have the option to reassign front panel button #4 (end) to CAMERA by adding gpiokeyopts=b4CAMERA to set cmdline in startup.txt. See note underneath (2) for info on losing ENDCALL.

    3) Home Button: There are three possibilities for those desiring a HOME button whose long press will open up the recent apps list:
    1. Reassign the end button to HOME by adding gpiokeyopts=b4HOME to set cmdline in startup.txt.
    2. Reassign the power button to HOME and the end button to POWER by adding gpiokeyopts=b4POWER-powerHOME to set cmdline in startup.txt.
    3. Reassign the call button to HOME by changing physkeyboard=<your_rhod_model> to physkeyboard=<your_rhod_model>-b1HOME on set cmdline in startup.txt.
    NOTE: If you reassign the end button you will lose its ability to end calls. You can still end a call by pressing Menu and then tapping end call. Alternately you can go into Settings->Accessibility and check the box that says: Power Button Ends Call. This will give the power button the additional ability to end calls during a call. If you've reassigned the power button via option (2) above, then this will be your old end button.

    4) SYM Key: The symbol key now works.

    5) Ctrl Key: The control key now works within Terminal Emulator, ConnectBot and other apps that recognize dpad_center (sometimes referred to as the "jogball") as ctrl. On the rhodium 300, 400 and 500's which don't have a printed ctrl key, this functionality has been assigned to the OK (300/Tilt2), SMS (400) and star (500) keys respectively. Do not hold this key down. Simply press it once much like you would the shift or alt keys before pressing the appropriate letter.

    6) Search Key & Shortcuts: The Envelope key is now Search. Holding down Envelope and pressing another key also acts as a shortcut. By default:
    • envelope+b opens up the browser.
    • envelope+c opens up contacts.
    • envelope+e opens up email.
    • envelope+g opens up gmail.
    • envelope+l opens up the calendar.
    • envelope+p opens up the music player.
    • envelope+s opens up messaging.

      All rhodiums now have the ability to reassign front panel button #4 (end) to SEARCH as well by adding gpiokeyopts=b4SEARCH to set cmdline in startup.txt.
    For the complete list along with the ability to assign/reassign them go to Settings>Applications>Quick launch.

    7) Rhod300/Tilt2 - Search Key & Shortcuts: No dedicated envelope key is present (it shares a button with "," ), but the home keyboard key and/or the push to talk key may be reassigned to Search by extending the physkeyboard=tilt2 or physkeyboard=rhod300 entry in startup.txt to physkeyboard=rhod300-homeSEARCH, physkeyboard=rhod300-pttSEARCH, or for both, physkeyboard=rhod300-homeSEARCH-pttSEARCH.

    8) Rear Mute Button - This button now mutes the mic during calls.

    9) Lots of other keys added. All keyboards get all of the characters commonly found on desktop keyboards including, but not limited to, braces, brackets, the pipe, the tilde, the backslash, the backquote, and inequality symbols. And yes, the Italian keyboard finally gets the "?" character! See the spreadsheet available under downloads below for details on all the additions for each rhodium model. It is saved in the open document spreadsheet format.

    Changelog
    Apr 18th
    • Git Pull: add sysfs amber led and auto_backlight write support
    • Significantly Reduced rootfs size by deleting unneeded overhead.
    • Reduced 7zip dictionary size from 16MB to 1MB to enable decompression directly on the TP2.
    Apr 13th
    • The Spanish Rhod100 keyboard (rhod100_es) is now supported. Mewzicki's adjustments have been merged in with mine.
    Mar 1st
    • Git Pull: gingerbread: Decouple libs from rootfs, use versions provided in /system.
    Feb 28th
    • Updated Init Logic - gpio key options now prefixed with "gpiokeyopts=", so b4HOME is now gpiokeyopts=b4HOME
    • New Option: gpiokeyopts=b4POWER-powerHOME - reassigns the power button to home and the end button to power.
    • New Option: gpiokeyopts=b4SEARCH - reassigns the end button to search.
    • New Option: gpiokeyopts=b4CAMERA - reassigns the end button to camera, requires working camera.
    • New Option: physkeyboard=<your_rhod_model>-b1HOME - reassigns the call button to home.
    Feb 13th
    • Rhod110: Added missing symbolic link to fix key layout.
    • Rhod300/Tilt2: Changed the keycodes assigned to the ! and @ keys to alternatives that are less likely to cause issues, and thus work more reliably.
    Feb 10th
    • Git Pull: New RIL.
    Feb 9th
    • Git Pull: New libsensor (fixes the system_server bug, please report back on this).
    • Git Pull: Memory Handling Fix.
    Feb 6th
    • Git Pull: New RIL (Radio Interface Library).
    • Support for rhod110 added.
    Feb 2nd b
    • Bug Fix: Startup options tilt2-pttSEARCH, tilt2-homeSEARCH, rhod300-pttSEARCH and rhod300-homeSEARCH now correctly assign SEARCH when selected.
    Feb 2nd a
    • Bug Fix: Corrected typo in rhod500 microp layout file preventing it from loading.
    Feb 1st
    • Bug Fix: Created missing link which prevented the tilt2 microp layout file from being copied to the right place.
    • Added default keymap/layout set (rhod100_uk) for rhodium if none specified.
    Jan 31st
    • initial release

    Downloads
    Rootfs Image - rootfs-f22-20110418-aaf47ce.img.7z (Updated Apr. 18th - see changelog above for details.)
    Rootfs Image w/Highlandsun RIL support - rootfs-f22-hyc-20110419-e96477d.img.7z (Updated Apr. 19th - Fixed bad sed line in init, Added missing init.android binary.)
    Complete Key Listing Spreadsheet - f22_pub_rhodium_keymap_project_20110418.ods (Updated April 18th - now includes new Spanish Key Map keys.)

    Instructions
    1) Download the rootfs image listed above.
    2) Unzip the file via the 7zip utility.
    3) Rename it to rootfs.img.
    4) Drop it into your android boot folder.
    5) If you wish to reassign the end button to something else, then add/edit one of the following to set cmdline in startup.txt:
    • gpiokeyopts=b4HOME
    • gpiokeyopts=b4POWER-powerHOME
    • gpiokeyopts=b4SEARCH
    • gpiokeyopts=b4CAMERA
    6) If you wish to reassign the call button to home, then change physkeyboard=<your_rhod_model> to physkeyboard=<your_rhod_model>-b1HOME. Examples:
    • rhod100_uk-b1HOME
    • rhod210-b1HOME

    7) If you have a Rhod300/Tilt2 and wish to reassign either the home keyboard key or the push to talk button to search, then change physkeyboard=tilt2 in startup.txt to:
    • physkeyboard=rhod300-homeSEARCH or physkeyboard=tilt2-homeSEARCH
    • physkeyboard=rhod300-pttSEARCH or physkeyboard=tilt2-pttSEARCH
    • physkeyboard=rhod300-homeSEARCH-pttSEARCH or physkeyboard=tilt2-homeSEARCH-pttSEARCH

    Note that the b1HOME option given in (6) above may be tacked on also. Examples:
    • physkeyboard=rhod300-b1HOME-homeSEARCH
    • physkeyboard=rhod300-b1HOME-pttSEARCH
    • physkeyboard=rhod300-b1HOME-homeSEARCH-pttSEARCH
    8) Restart your phone in Android.
    9) If you remapped your endcall button to something else and would like to now assign your power button the ability to end calls while within a call, go to to Settings->Accessibility and check the box that says: Power Button Ends Call.
    10) Download the Complete Key Listing spreadsheet above if you're interested in seeing the complete list.

    Enjoy your new keys. :)
    4
    New April 18th Rootfs

    Lots of New Stuff...
    • Highlandsun's rootfs RIL support patches have been merged. There is no longer a need to hand patch my rootfs if you want to use his RIL.
    • The file size of my rootfs.img has been significantly reduced without any loss of functionality.
    • The 7z dictionary size has been reduced from 16MB to 1MB so the file can be decompressed on the TP2 if someone chooses.
    • mweirauch's latest patch to the official git which adds sysfs write support for the amber led and autobacklight has been added.

    As always, see the 1st post in this thread for the download info.

    Enjoy!
    2
    Available Keymaps/Layout Sets

    In this rootfs, the following rhodium keymap/layout sets are available:

    rhod100_de
    rhod100_es - new!
    rhod100_fr
    rhod100_it
    rhod100_nl - new!
    rhod100_nordic
    rhod100_uk
    rhod110 - new!
    rhod210
    rhod300 or tilt2
    rhod400
    rhod500

    They may be selected in the usual physkeyboard= manner from within the startup.txt file in the android boot folder. If you experience issues with any of these keymap/layout sets after downloading & installing the rootfs above please do not hesitate to let me know.
    2
    New Home, Power, Search & Camera Button Options

    By popular demand, I've added the ability to reassign the power button to HOME and front panel button 4 (end) to POWER. In addition, I've added the ability to reassign button 4 to SEARCH and CAMERA as well. So b4 can now be set to HOME, POWER, SEARCH or CAMERA depending on one's preference. Finally I've also added the ability to reassign front panel button #1 to HOME like it is on most native android phones. The first post has been updated with the details. See the changelog if you just want to see the new stuff.
    2
    New Rootfs - Feb 13th

    New Rootfs posted. Changes include:
    • Rhod110: Missing microp key layout link added.
    • Rhod300/Tilt2: Reassigned ! and @ to keycodes that don't have special properties, and are thus less likely to cause issues.

    See the first post in this thread for the updated download link.