[N2E] Nook Touch - App Support for Hardware Buttons - Nook Touch Android Development

I don't know about everyone else but I would love to see apps that support our Nook's hardware buttons for scrolling and turning pages. I created an small app just to find out exactly what these buttons were. I have attached the test apk and the source for it.
The buttons generate a KeyEvent that can be captured in the normal manner for handling key presses.
Left top button - 92
Left bottom button - 93
Right top button - 94
Right bottom button - 95
All the developer has to do is test for those in addition to whatever they are already monitoring for. I am going to begin emailing developers with this information and see if I get any "takers". I have emailed the following and will post a status here if I hear back:
Kindle - 5/16: Received an email saying the suggestion would be forwarded on to the appropriate development group
NewsRob (via google group) - 5/16: The developer is going to add page up/down and article up/down support!
FeedR - 5/16: Email sent
Aldiko - 5/16: Email sent
FBReader - 5/16: Email sent
In addition I am going to add hardware button support to some open source apps. I have located a number of open source RSS apps:
http://code.google.com/p/feedgoal/
http://code.google.com/p/feeddroid/
http://code.google.com/p/reader/
As an example of what we can do I have attached an updated FeedGoal where I have added support for the hardware buttons to scroll up and down on a feed article.
Update 5/17/2011:
I have modified the Browser from the stock Eclair to support page buttons and compiled it. When I try to start it on the Nook it comes up and then shuts down. One of the times I saw a "signing in" box. My thoughts is that it is trying to do something that requires gapps on the phone? If anyone has any ideas I'd be glad to try them.

* Reserved

Keys are actually
key 407 RIGHT_NEXTPAGE
key 412 LEFT_NEXTPAGE
key 139 LEFT_PREVPAGE
key 158 RIGHT_PREVPAGE

xboxexpert said:
Keys are actually
key 407 RIGHT_NEXTPAGE
key 412 LEFT_NEXTPAGE
key 139 LEFT_PREVPAGE
key 158 RIGHT_PREVPAGE
Click to expand...
Click to collapse
Those numbers are the scancodes from the keymap file TWL4030_Keypad.kl. If you are wanting to watch for key inputs in an Android application you override the "onKeyDown(int keyCode, KeyEvent event)" method and the "int keycode" that get's printed out is 92-95.
The format of the keymap file (TWL4030_Keypad.kl) is "key SCANCODE KEYCODE [FLAGS...]". In your example 407 is the SCANCODE and "RIGHT_NEXTPAGE" is the KEYCODE. The numerical value of "RIGHT_NEXTPAGE" is either 94 or 95 depending on how you set your Nook up.
If someone wants give the two attached apk's and test and verify (I've already ran them myself) that they do work as intended that would be great.
- The TouchTest should print out 92-95 (keycode) on the screen when you press them.
- The FeedGoal should page up and down when you press the right or left side keys. I may go back and change the left side to be page up/down and the right side to be article back/forward.

ReadItLater
I add a ticket to ReaditLater Support Forum.
http://support.readitlaterlist.com/...droid-support-for-nook-touch-hardware-buttons
update:
i contact the dev of electrodroid, too
are there new answers from the devs?

If you remaps two keys to VOLUME_UP and VOLUME_DOWN, almost all reading-centric programs work will hardware buttons. I have tested:
Read It Later
Kindle
Aldiko
FBreader
CoolReader
Moon+Reader
RSSdaemon
NewsRob
BuzzBox RSS reader
They all works with remapped buttons.

aruangra said:
If you remaps two keys to VOLUME_UP and VOLUME_DOWN, almost all reading-centric programs work will hardware buttons.
Click to expand...
Click to collapse
yes, of course.
but this is just a workaround and i already recognized that there are situations where i have to take the nook in the other hand to turn a page...
for example: i use the left keys remapped to volume for readitlater, so i can only use the right keys on the default reader app (which i prefer).
i think for some apps you will always have to do this remapping, especially for the kindle app in my thougts.
and it seems to me that the devs will easily can integrate this buttons in their apps.
a lot of other apps are already working with the default mapping:
e-mail
twicca
titanium backup
root explorer
alogcat
autostarts
moon+
...

Is there no way to remap the hardware buttons using like a driver software (sorry, completely noob regarding android software). Remapped buttons would help on repligo and ezpdf, my preferred readers.

I liked seeing the NewsRob support in the change log. But it only scrolls half a page down so you have to hit it twice.
I found that my old technique of remapping the key to SPACE worked better; SPACE is a page-down shortcut for most WebView apps. Unfortunately my SHIFT SPACE mapping in the layout file seemed to ignore the shift part. :-(
Android 3.0 adds real page up/down keys finally, so more apps should support the keycodes then. This isn't just a Nook issue; I've been trying to fix this on my Galaxy Tab too.
I blame Apple for not including a page down function because it's so "cool" to flick the screen around. Hope you have good timing.

Good news, everyone!
This weekend I received reply from FBReader authors. Here is the translation:
Since version 1.1.3 FBReader is able to read external file with actions mapped to keys. One can put keymap.xml file into main directory, which is /sdcard/Books by default.
File format can be seen in example:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<keymap>
<binding key="4" action="cancelMenu"/>
<binding key="23" action="processHyperlink"/>
<binding key="24" action="volumeKeyScrollBackward"/>
<binding key="25" action="volumeKeyScrollForward"/>
<binding key="66" action="processHyperlink"/>
</keymap>
All possible actions are here:
Code:
String SHOW_LIBRARY = "library";
String SHOW_PREFERENCES = "preferences";
String SHOW_BOOK_INFO = "bookInfo";
String SHOW_TOC = "toc";
String SHOW_BOOKMARKS = "bookmarks";
String SHOW_NETWORK_LIBRARY = "networkLibrary";
String SWITCH_TO_NIGHT_PROFILE = "night";
String SWITCH_TO_DAY_PROFILE = "day";
String SEARCH = "search";
String FIND_PREVIOUS = "findPrevious";
String FIND_NEXT = "findNext";
String CLEAR_FIND_RESULTS = "clearFindResults";
String SET_TEXT_VIEW_MODE_VISIT_HYPERLINKS = "hyperlinksOnlyMode";
String SET_TEXT_VIEW_MODE_VISIT_ALL_WORDS = "dictionaryMode";
String TURN_PAGE_BACK = "previousPage";
String TURN_PAGE_FORWARD = "nextPage";
String VOLUME_KEY_SCROLL_FORWARD = "volumeKeyScrollForward";
String VOLUME_KEY_SCROLL_BACK = "volumeKeyScrollBackward";
String SHOW_MENU = "menu";
String SHOW_NAVIGATION = "navigate";
String GO_BACK = "goBack";
String EXIT = "exit";
String SHOW_CANCEL_MENU = "cancelMenu";
String ROTATE = "rotate";
String INCREASE_FONT = "increaseFont";
String DECREASE_FONT = "decreaseFont";
String PROCESS_HYPERLINK = "processHyperlink";
String SELECTION_SHOW_PANEL = "selectionShowPanel";
String SELECTION_HIDE_PANEL = "selectionHidePanel";
String SELECTION_CLEAR = "selectionClear";
String SELECTION_COPY_TO_CLIPBOARD = "selectionCopyToClipboard";
String SELECTION_SHARE = "selectionShare";
String SELECTION_TRANSLATE = "selectionTranslate";
String SELECTION_BOOKMARK = "selectionBookmark";
Program must be restarted in order to pick up changes in config file.
Can anyone test if this really works? I can't test it right now.
And, I suggest to make a donation to this wonderful program authors.
Cheers.

Great news!
If other developers would do the same, we'd be in heaven.
I'll only be able to try it tomorrow, but I'll inform as soon as I do it.

DenisTheMenace said:
Good news, everyone!
This weekend I received reply from FBReader authors. Here is the translation:
Since version 1.1.3 FBReader is able to read external file with actions mapped to keys. One can put keymap.xml file into main directory, which is /sdcard/Books by default.
Program must be restarted in order to pick up changes in config file.
Can anyone test if this really works? I can't test it right now.
Click to expand...
Click to collapse
Thanks! It works very nicely with FBReader. My keymap.xml file:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<keymap>
<binding key="92" action="nextPage"/>
<binding key="93" action="previousPage"/>
<binding key="94" action="nextPage"/>
<binding key="95" action="previousPage"/>
</keymap>
Does anyone know the key number of the Nook button? It's quite useless for FBReader and it would be nice to remap it to some other function. Thanks!

Anyone thought of trying to create a service that'd catch the button presses outside of the stock apps that'd then send the right command for whatever. For example if you press the page forward button or page backward button in stock apps it'd function as designed. If you push it somewhere else like within your custom launcher or another app it'd perform as menu/home/back whatever

GabrialDestruir said:
Anyone thought of trying to create a service that'd catch the button presses outside of the stock apps that'd then send the right command for whatever. For example if you press the page forward button or page backward button in stock apps it'd function as designed. If you push it somewhere else like within your custom launcher or another app it'd perform as menu/home/back whatever
Click to expand...
Click to collapse
Yes for remapping the n-button. See this post. But still haven't had the time to do it. Too busy with work.

GabrialDestruir said:
Anyone thought of trying to create a service that'd catch the button presses outside of the stock apps that'd then send the right command for whatever. For example if you press the page forward button or page backward button in stock apps it'd function as designed. If you push it somewhere else like within your custom launcher or another app it'd perform as menu/home/back whatever
Click to expand...
Click to collapse
I've started working on exactly this during this weekend. I have so far succeeded in creating service that runs in the background and makes the upper left button a "HOME" button - meaning it shows the home activity of your choice rather than the built in menu like the n button. I'll be glad to give more technical details on what I have learned so far (when I have time, probably next weekend).
In the mean time, I would like input from other users as to some specifics on how it should work.
Here is my current vision:
- Have option to start the service manually or automatically start at boot (currently hard coded to start a boot)
- The keylayout files can remain untouched so that they still work properly for the stock applications
- the service will be aware of what Activity is in the foreground and remap purpose the buttons accordingly.
- there will be a settings Activity that lets you choose the functionality of each button on a per application basis
- the choices will to be to broadcast an Intent or to create a virtual key press (for example, my "HOME" button does not actually cause a HOME key press, but broadcasts a act...MAIN cat...HOME intent, my next experiment will be to send Vol Up/Down keys when Kindle app is running)
And this is slightly off topic, but I would like put this on sourceforge or google so that others can contribute and have easy access to it. I've never done that before, so advice on this would be appreciated.

mycr0ft said:
but I would like put this on sourceforge or google so that others can contribute and have easy access to it. I've never done that before, so advice on this would be appreciated.
Click to expand...
Click to collapse
May I suggest github? git is much more sophisticated than CVS/SVN and their clones.
I basically agree with the app functionality. May be I will take part in implementation (I wish there will be ~36-48 hours in a day )

Thanks for the advice. github looks promising.
Anyone interested can have a look:
Code:
https://github.com/mycr0ft/nook-touch-button-service
I've run into a bit of a problem with simulating a key press. The android developers have not made it easy (which is good for device security).
- I have tried Instrumentation.sendKey..., but that only works withing the same application. Even with the INJECT_EVENT permission, you cannot inject events into other applications (unless they are signed by the same packager). Repackaging every single app that you load does not sound like a good option.
- I have tried using the 'sendevent' shell command. This appears to be limited to only duplicating scan codes keys that actually exist.
- I am currently trying to compile uinput driver (available in the source code download from bn) and load it using insmod. I am stuck here for the time being because I can't figure out how to get it to compile to the right kernel version (version magic mismatch in dmesg)

I think you will need root to inject a key event in an other app
You can look at the SoftKeys source code (here), it may help you.
In the past, SoftKeys used a script called "input" to inject events (according to http://forum.xda-developers.com/showpost.php?p=10497165&postcount=309) but now it seems that it uses something else ...

mdall, thanks very much. this is very useful information.

Droid Comic Viewer
I think also Droid Comic Viewer would benefit from hardware buttons support.
It's a nice little comic reader app supporting all relevant formats (CBR, CBZ, ACV & image formats). Animations can be disabled and there's no dependency with touchscreen interface (it can be entirely operated with button actions). This would make it perfect for an e-ink screen.
I sent an email to the devs today, let's hope they get back to us!

Related

TouchFLO 3D Can't change home softkey... bug?

Has anyone been successful with this? No amount of hacking is allowing me to change the soft key for the touchflo 3d home page section...
I have used Advance Config, TouchFlo Detacher and Registry editing:
HKEY_LOCAL_MACHINE\Software\HTC\Manila
HomeLSKText = Text on softkey
HomeLSKPath = Path to program to run (or blank for default)
HKEY_LOCAL_MACHINE\Software\HTC\Manila
HomeRSKText = Text on softkey
HomeRSKPath = Path to program to run (or blank for default)
My result:
The text changes but the button will not launch program.
Search for a way to have it work leads me to the same result. could it be the version of manila?
my touch pro 2 is sprint version. I read one other forum where a tmobile version could not get this working either with my same result.
any info would be helpful. thanks
I used only the Advance Config
it works fine with me
Since I just cleared my storage (cause I manage to **** up the touch flo and have two settings and no calendar tab), I will try advance config first without touching the registry.
Ok I just realized Advanced Config does not remap the softkey for the TouchFLO 3D shell. It remaps the regular today screen's softkey. Unless I'm doing something wrong, here's what I did.
1. open advance config
2. press menu (right soft key)
3. clicked "more settings"
4. clicked "key mapping"
5. key mapping configuration for path and text shows up, did the changes.
of course since this only remaps the regular screen's softkey, the change does not show on the touch flo 3d home page soft key (where camera is).
I had a similar issue trying to set up TFDetacher and my Sprint TP2. I ended up hard resetting because it was jacked up. I haven't had a chance to try to fix yet.
I had the same issue, but only with the left softkey. Till now I found no solution.
Baluliloe said:
I had the same issue, but only with the left softkey. Till now I found no solution.
Click to expand...
Click to collapse
Problem is that (at least on my TMO unit, but I've seen others report the same thing)
HomeLSKText - Changes Text on the left softkey
HomeRSKText - Changes Text on the right softkey
HomeLSKPath - Doesn't appear to do anything!
HomeRSKPath - Changes application launched by LEFT softkey (note - that is NOT a typo!)
i.e - it's easy to change the left softkey on the Manilla home page, but so far I've not found out how to change the right softkey - though I've seen screen caps here that show it changed, so it is clearly possible.
-Steve
On the sprint version there is no fix as of yet you can change the name on the key, but the activation is still contacts, this is with reg edits and programs i have tried.
Keyswop - changes the phone or Lock softkey.... still trying to find something to change the Touchflo 3d Icons so I can attach different movie players and such to the interface though.
Styg
http://mobisapienz.com/index.php?option=com_jdownloads&Itemid=82&task=view.download&cid=57
yes, that was my other ultimate goal was to make those other touchflo tabs into buttons rather then 'tabs', that opened programs. personally I don't want ANY tabs, and just keep the touchflo on the home page, but disabling the tabs also disable their overlay features (hence loading from quick programs doesn't load the touchflo version like calendars).
Think the answer for remapping the soft keys in Manila TF3d home are as follows (using windows calendar as an example):
Within the registry.
1) HKLM\software\HTC\Manila
Within that folder see if the following string exists and change the value - if it doesn't then create it:
Value Name "HomeLSKArguments "
Value Data "-manila off"
(without the quotes)
Then next string
Value Name "HomeLSKPath"
Value Data "\windows\calendar.exe"
Then next string
Value Name "HomeLSKText"
Value Data "Calendar"
(Don't enter the quotes above)
This works for me and remaps the left soft key to open the normal windows calendar program. Also works with Right Soft Key simply by changing LSK to RSK - (got my RSK taking me straight to Comm Manager)
Good luck
Barney
Barneyabz said:
Think the answer for remapping the soft keys in Manila TF3d home are as follows (using windows calendar as an example):
Within the registry.
1) HKLM\software\HTC\Manila
Within that folder see if the following string exists and change the value - if it doesn't then create it:
Value Name "HomeLSKArguments "
Value Data "-manila off"
(without the quotes)
Then next string
Value Name "HomeLSKPath"
Value Data "\windows\calendar.exe"
Then next string
Value Name "HomeLSKText"
Value Data "Calendar"
(Don't enter the quotes above)
This works for me and remaps the left soft key to open the normal windows calendar program. Also works with Right Soft Key simply by changing LSK to RSK - (got my RSK taking me straight to Comm Manager)
Good luck
Barney
Click to expand...
Click to collapse
thanks for the input. at least now I know the arguments path is probably important. However, it still does not work. same results, text changes, but does not operate. =(
nope did not work 4 me, maybe we can have other sprint users try this out to see if they are successful.Are you sure this is step by step in how you accomplished this?
I think I may have figured it out or at least am on to something...
I remapped my LEFT softkey to open Windows Media Player.
HomeLSKArguments:
HomeLSKPath:
HomeLSKText:Media Player
HomeRSKArguments:
HomeRSKPath:\Windows\wmplayer.exe
HomeRSKText
I have a brand new Sprint TP2.
dshosu said:
I think I may have figured it out or at least am on to something...
I remapped my LEFT softkey to open Windows Media Player.
HomeLSKArguments:-manila off
HomeLSKPath:
HomeLSKText:Media Player
HomeRSKArguments:
HomeRSKPath:\Windows\wmplayer.exe
HomeRSKText
I have a brand new Sprint TP2.
Click to expand...
Click to collapse
I believe you figured it out. Arguments is not needed though. -manila off doesn't do anything.
So RSKPath points to left... that's really annoying. I remember reading this somewhere, but it was so ridiculous that I never tried it. LSKPath doesn't do anything though. =( Definitely a bug somewhere
yeah the left key can be re-mapped, its the right key that activates contacts and has yet to be changed.
mankoorb said:
yeah the left key can be re-mapped, its the right key that activates contacts and has yet to be changed.
Click to expand...
Click to collapse
Ahh bummer. I though I figured something out.
But just to be clear:
Only Sprint customers are having problems with remapping the softkeys, and it's only the right softkey.
The Verizon Touch Pro2 doesn't have to reverse the RSK/LSK paths AND can remap the RSK.
Maybe someone should re-title this as a Sprint only problem?
I've also read some tmoble have this problem too.
just curious, what version of manila do people have? (listed in the same registry location).
mine is 2.1.38416.1 and I am with Sprint.
@ dshosu: idk about tmobile but sprint versions has this issue, verizon's dont.
@ tonefour: i have the same manila version.
Mine is exactly the same, I just got mine yesterday from Sprint (2.1.38416.1)

[Q] Access all symbols with HW Keyboard ?

Hi,
I have an azerty DZ, and when using hardware keyboard, it seems impossible to type some symbols, like "<", ">", "^"....
Only available symbols (using symb. key) are brackets, 3-dots, Yen and copyrights.
Any suggestions ?
Thanks
mika91 said:
Hi,
I have an azerty DZ, and when using hardware keyboard, it seems impossible to type some symbols, like "<", ">", "^"....
Only available symbols (using symb. key) are brackets, 3-dots, Yen and copyrights.
Any suggestions ?
Thanks
Click to expand...
Click to collapse
If you post your .kcm.bin file (as you can read in the Norwegian keyboard thread) and detail what symbols you need, I'll give it a try.
Ok, I attached french keymap.
The important miising symbols are "^", "<", ">" and "~".
Thanks
mika91 said:
Ok, I attached french keymap.
The important miising symbols are "^", "<", ">" and "~".
Thanks
Click to expand...
Click to collapse
Ok, this is my first try and I don't guarantee it'll work
Shift+FN+C ^
Shift+FN+N ~
Shift+FN+, <
Shift+FN+. >
I hope it works
I've got a Desire Z and can't seem to get the < and > chars no matter what I try -- what's the trick?
(stock Euro Desire Z with English)
mika91 said:
Hi,
I have an azerty DZ, and when using hardware keyboard, it seems impossible to type some symbols, like "<", ">", "^"....
Only available symbols (using symb. key) are brackets, 3-dots, Yen and copyrights.
Any suggestions ?
Thanks
Click to expand...
Click to collapse
Well, without modifying anything: no. It is indeed impossible.
There are two files that can be fairly easily messed with:
/system/usr/keylayout/vision-keypad-wwe.kl and
/system/usr/keychars/vision-keypad-wwe.kcm.bin
(there are multiple files in those directories, so it may well be that the files used on your device aren't the -wwe versions and altering the -wwe versions doesn't do anything)
I changed the keylayout-file to make arrow keys out of the (ridiculous) shortcut buttons, right shift and question mark (it took me a while to realize that DPAD_LEFT corresponded to a DOWN arrow, which makes sense if you look at the optical trackpad in landscape mode, but can be quite mystifying if you don't).
The keylayout-file is plaintext and can be modified on your phone using a terminal and vi.
The keylayout-file only maps hardware buttons to the intended functions in the OS. The keychars-file maps these to actual characters, including what is produced using FN and Shift (or both!). To be able to type the 'missing' characters, I added them in my keychars-file as characters that appear when pressing FN + Shift + <key>.
The keychars-file is a binary file, so you'll have to use two simple tools to edit it. See this post from the G2 forum (the entire thread is quite useful, actually):
http://forum.xda-developers.com/showpost.php?p=9208893&postcount=31
A little heads up: the capacitive buttons share the same keycodes as the ones on the keyboard. Ergo: assigning another function to the search or menu buttons in the keylayout file will also assign that function for the capacitive search and menu buttons.
dinfinity said:
Well, without modifying anything: no. It is indeed impossible.
There are two files that can be fairly easily messed with:...
Click to expand...
Click to collapse
Perfect -- thanks
This should be in the WIKI...
dinfinity said:
A little heads up: the capacitive buttons share the same keycodes as the ones on the keyboard. Ergo: assigning another function to the search or menu buttons in the keylayout file will also assign that function for the capacitive search and menu buttons.
Click to expand...
Click to collapse
Ah, good info, so that explains why the capacitive buttons stop working on custom ROMs that were designed for the G2 with its different hardware keyboard layout.
steviewevie said:
Ah, good info, so that explains why the capacitive buttons stop working on custom ROMs that were designed for the G2 with its different hardware keyboard layout.
Click to expand...
Click to collapse
That's very possible, though I remember reading someone solving that specific problem by changing the permissions on the files.
Certainly something to keep in mind, though.
A very informative page for tinkering with all this:
http://source.android.com/porting/keymaps_keyboard_input.html
And some commands:
getevent (first few lines show which events are handled by which devices and subsequent lines can be used to determine keycodes and such)
getprops |grep hw (shows the key handling devices, useful for confirming which .kl-file to edit)

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

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:
Reassign the end button to HOME by adding gpiokeyopts=b4HOME to set cmdline in startup.txt.
Reassign the power button to HOME and the end button to POWER by adding gpiokeyopts=b4POWER-powerHOME to set cmdline in startup.txt.
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.
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.
F22 said:
4) Home Button: The End button (front panel button 4) may now be reassigned to Home by adding b4Home to set cmdline in startup.txt.
Click to expand...
Click to collapse
Oh Em Gee
<3
F22 said:
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
Click to expand...
Click to collapse
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?
rhod500 has no space bar :-\
edit:
no phone, settings, back buttons
Nice work F22, lookin forward to seeing this committed! I'll test this out sometime today, doing some battery testing for WisTilt2 .
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.
Click to expand...
Click to collapse
Y'know, for stupid people like me .
Thanks again! I'll give ya some feedback later.
Rhod500 Issue
jmstumme said:
rhod500 has no space bar :-\
edit:
no phone, settings, back buttons
Click to expand...
Click to collapse
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
Click to expand...
Click to collapse
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.
Greek & Other Cyrillic Keyboards
XavierGr said:
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?
Click to expand...
Click to collapse
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.
arrrghhh said:
Nice work F22, lookin forward to seeing this committed! I'll test this out sometime today, doing some battery testing for WisTilt2 .
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.
Click to expand...
Click to collapse
LOL! Ok. Done. (On the caveat.)
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
F22 said:
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.
Click to expand...
Click to collapse
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.
Re: Rhod500 Issue
jmstumme said:
[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
Click to expand...
Click to collapse
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.
XavierGr said:
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.
Click to expand...
Click to collapse
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.
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).
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?
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?
Combining b4home with the spare parts option
highlandsun said:
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?
Click to expand...
Click to collapse
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.
GPIO key layout not loading properly.
dancingtimmy said:
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.
Click to expand...
Click to collapse
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.
dancingtimmy said:
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?
Click to expand...
Click to collapse
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.
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!
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.

Newb Programming Question

Firstly, I apologize for so a terribly novice question; I have looked and googled but part of my problem is I believe I am asking the question wrong.
So, I am just trying to build a VERY simple wp7 program. Main page would have several buttons, which pressing would take you to a page with information on the topic of the button you just pushed, and with another button back to the home screen. Again, very simple. For example, it could be an app of The Rolling Stones, and each button would be a link to a band member's small bio. Nothing too fancy, just dipping my toes.
My problem is I cannot find the action I need to attribute to a button. I can build the home screen and add buttons and text easy enough, and make the other "pages" or screens, but I do not know how to make the button navigate to those pages. And every search I do results in explanations of how to add web links, which is not what I want to do.
Sorry for the newb question, but I appreciate all responses and advice.
There are several ways to do the job:
1. - Define "Click" event for Button (double click on button in designer or on events properties);
- Add "using System.Windows.Navigation;" at the top of your main page .cs file;
- Add "NavigationService.Navigate(new Uri("/NewPage.xaml", UriKind.Relative));" to the "Click" event handler
2. - Open you page in Expression Blend;
- In the "Assets" (left top corner) window select "Behaviors";
- drag "NavigateToPageAction" to your button;
- fill "TargetPage" property (at the right top corner)
3. You may also manually edit your page.xaml source (see the source changes after using method 2)
Put any Button on the Page, simply Double Click that button, this will generate by Default a Click Action Event Handler, in this write the following
NavigationService.Navigate(new Uri("PageName.xaml", UriKind.Relative));
also, you should NOT add buttons to go back, developers are encouraged to have users using the hardware key for going back as you are simply adding more and more to the Navigation Stack which is responsible for keeping track of the users Navigation through Apps, kind of like your Web Browser, you navigate to google,. then 10 pages later, and if you navigate back by URL rather than the built in "GoBack" function for the browser, you end up clicking the back button a hundred times going forward to the page you stopped looking for information then to every page in between which you navigated through to get to that information, it just uses more Memory and for a users experience you should not use buttons that go back let the user control the flow
Good luck on your app mate

Starting launcher app (firestarter) on keyboard event

I'm using a replacement launcher (Firestarter) and a 3rd party wireless keyboard /mouse (Mele F10 Deluxe) -- things are working well, but one issue is that the "home" button on the Mele acts like the "HOME" key on a QWERTY keyboard. Instead of returning to the home screen, it sends keyboard event "KEYCODE_HOME" (Constant Value: 3 - 0x00000003).
On a (rooted) AFTV2, is there a way to assign a keyboard event (in this case, "KEYCODE_HOME") to launch a particular app (in my case, firestarter) regardless of what else is open?
Alternatively, is it possible to have the keyboard event "KEYCODE_HOME" perform the system "home" event?"
Thanks in advance for your thoughts!
http://www.mobileread.com/forums/showthread.php?t=159538
Thats five minutes on google.
The way I have solved this was to remap the keyboard layout of my Macbook Air to adb commands - whenever I run a script that can only be exited by clicking a button on a prompt. I actually remapped the entire MBA's keyboard to send the corresponding keys to the Fire TV as adb keyevents.
Code:
adb shell monkey -p your.app.package.name -c android.intent.category.LAUNCHER 1
does what you want in that case (de.belu.firestarter is the package name btw).
I dont think every button press will show up in the Fire TVs logs the same way HOME does ("nice little keylogger you sell there, A."), so instead you might have to do the remapping at another point. Your keyboard itself is too dumb to even know what being scripted means - that leaves you either messing with the OS itself - or forfeiting the keyboard in favor of an Ultrabook. Which by the way - allows you to actually work, or browse the net - and still control the Fire TV in the background.
But people seem to be happy with their Bluetooth keyboards - because, single purpose = neato.
On my k900 plus keyboard it has a home button, why not Just map Firestarter to start up when you press home twice, then you just press the home button twice on your keyboard?
Hope this helped press thanks button
harlekinrains said:
http://www.mobileread.com/forums/showthread.php?t=159538
Click to expand...
Click to collapse
Thanks for the links. For anyone else using a media airmouse such as the Mele F10 (with a "home" button that does not send the same code as the amazon remote), it's very straightforward to create a custom keyboard map that makes it function like the Amazon remote:
1) For each button that you would like to remap, use Ketest App to discover its ScanCode (for example "102" is the "Home" button on the Mele F10 Deluxe).
2) Determine the Product ID and Vendor ID for your input device with "cat /proc/bus/input/devices" and create a copy of /system/usr/keylayout/Generic.kl with the name Vendor_XXXX_Product_XXXX.kl. This custom key layout file contains your new mapping (for example, I changed the entry next to "Key 102" to "HOME" instead of "MOVE_HOME").
3) Set ownership (chown system.system) and permissions (chmod 644) for your custom key layout file.
deanr1977 said:
On my k900 plus keyboard it has a home button, why not Just map Firestarter to start up when you press home twice, then you just press the home button twice on your keyboard?
Hope this helped press thanks button
Click to expand...
Click to collapse
Thanks for sharing your experience. The issue is that on the Mele F10 Deluxe (and other combo devices that aren't designed specifically for the Fire TV box), the home button does not send the same key code as the Amazon remote -- requiring that the user create a custom key map file.
harlekinrains said:
http://www.mobileread.com/forums/showthread.php?t=159538
But people seem to be happy with their Bluetooth keyboards - because, single purpose = neato.
Click to expand...
Click to collapse
Thanks! Given the cost difference (plus, portability, and the fact that it lasts longer on a charge), I can understand why people might choose a media remote instead of a script-friendly keyboard with a screen (like an Ultrabook). Fortunately, if your 3rd party remote doesn't work like the Amazon remote out-of-the-box, it is easy to create a custom keymap. Unfortunately, this still means that, by default, FireStarter has to use ADB to listen for the home key. I was hoping that if I use a different button instead of the home key on the amazon remote, I can have the OS "listen" in a simpler way (that doesn't tie up ADB), and simply have the OS launch firestarter when this button is pressed.
Bluetooth keyboards are less clunky - thats right. So portability and also price are valid arguments for them.
But - there is also a lot that you "lose" by not using an ultrabook (beside the remote which at some point becomes just an easy to use muscle memory extension).
The argument here goes as this way -
1. Screen Mirroring is a very, very, stupid idea. Let the battery powered device do all the processing, then let it encode a video feed on top of that, and then let it transfer...
2. Link sharing on the other hand is "where its at". So for the Fire TV this means, you use the Chrome Plugin "Play to Kodi", which covers youtube and a few other sources - and you also use Video Download Helper (Chrome Plugin available as well) to get any direct video link that isnt a rtmp stream and heavily segmented and a little script that launches http://www.multilinkr.com/ in your browser, then you paste the url in your clipbord into that, use the site to generate a clickable link and then use rightclick and Play to Kodi to cast the direct video link to the Kodi Box.
Which brings me to -
3. Discoverability is pretty lousy on remote based interfaces (Kodi has the best interface for it there is out there.). Its also pretty bad on phones (which is part of why more and more content becomes facebook native and why you are so dependent on content surfacing within an app "you like") or tablets. Its actually pretty excellent on laptops. So in some sense - I see the ultrabooks as the last bastion of non curated content and real discoverability out there.
Kodi with keyboard at that stage simply doesnt cut it. Also if you are more than a novice user you need a device you use to do maintenance on Kodi - so again - why not an Ultrabook...
-
Regarding your previous question - I know that the adb way of Firestarter noticing "that the Home button was pressed" depends heavily on certain lines within a log that only indicate that _that_ button is being pressed. I dont know how its dev handled the non adb implementation - you have to ask him. It is very unlikely - that you'd find the same or an equivalent "event indication" when you press a random key on a connected keyboard.
Remember that the watcher routine has to look for something occurring, and that in the case of Firestarter this preferably has to show up on non rooted devices also. In fact - that Firestarter (and its predecessor) exist is a little miracle in its own right - because Amazon could make a very small change and it would never be able to work again. In that sense its a hack - that relies on a very specific pattern showing up in something the OS is reporting and that is accessible by any app (userspace).
Its not based on a featureset, its based on a hack.

Categories

Resources