Active Topics

 


Reply
Thread Tools
Posts: 6 | Thanked: 1 time | Joined on Apr 2008
#1
Can anyone offer some help with changing/disabling the functionality of buttons on the n800/os2008? I'm working on an application for a museum in which visitors will get n800 devices to view a multimedia program. The museum does not want a hard case (that would block access to buttons which could be used to close any application), so now I'm trying to figure out how to disable various buttons to make sure that people can't accidentally or intentionally close our app.

Power and home are easy to change (gconftool and mce.ini), but I haven't been able to find any way to disable or change the zoom buttons, the menu button or the back button. Any ideas?

yskel
 
b-man's Avatar
Posts: 549 | Thanked: 502 times | Joined on Feb 2008 @ Bowling Green Ohio (united states)
#2
You could probiblly modifi the hildon desktop and run the app as a gui on top of it (witch could be risky if even possible) much like how some computers use a costomized graphical user interface with special key bindings so the user can only use the interface that is provided and not the OS it self..

have you tryed xmodmap for key bindings? that might work....
I'll try googleing up on key bindings with xmodmap and hopefuly get more info... unless someone answers your question before i do!

Last edited by b-man; 2008-04-06 at 03:14.
 

The Following 2 Users Say Thank You to b-man For This Useful Post:
Posts: 6 | Thanked: 1 time | Joined on Apr 2008
#3
Thanks b-man. I was looking at options for modifying hildon, but there are definitely a couple of issues - the app runs nicely in mozilla now (it's flash-based), and I don't know enough about hildon/gtk to do much here. Plus, it's due in five days (not my fault )

I'll look at xmodmap, too.

BTW, I've seen a couple of other posts here over the past few months about using n8-0 for a public touring device or similar. It's really suitable for a lot of projects (big screen, open development framework, pretty cheap), but the features that are useful for use by the public (simplicity, restricted access to key functions) are totally different than those that an individual would want. No point to this, really - just been working on this for the past 12 hours, so it's on my mind...
 
qwerty12's Avatar
Posts: 4,274 | Thanked: 5,358 times | Joined on Sep 2007 @ Looking at y'all and sighing
#4
Yeah, xmodmap them.

Grab XEV & xmodmap and see what the keys are and set the keys to something like "y" or something pointless.

Make a init script that would execute your program & the xmodmap lines on boot.
 

The Following User Says Thank You to qwerty12 For This Useful Post:
Posts: 6 | Thanked: 1 time | Joined on Apr 2008
#5
You guys are awesome. xev and xmodmap worked perfectly. I made a quick xmodmap file changing keycodes for the pertinent buttons to the "Y" character, which isn't used in my app.

I can load this new character map with the shell command
xmodmap /usr/share/.xmodmap
but I'm having problems with the init script. I made a simple shell script:
#! /bin/sh
xmodmap /usr/share/.xmodmap
and named it 'keymap' put it in /etc/init.d. I then ran:

update-rc.d keymap defaults
On reboot, though, the keymaps weren't changed and I had to manually run xmodmap again. If possible, I'd like to have my script run automatically, since the people actually in charge of handing out these devices to the public will certainly not know how to do any of this...

Thanks again for all the help. Just as an aside, this is the second project I've worked on in the past year with the n800 for use by the public in a museum setting, and in both cases I recommended using the n800 precisely because I knew there was such a strong community of developers available for support if we got stuck on an issue.
 
qwerty12's Avatar
Posts: 4,274 | Thanked: 5,358 times | Joined on Sep 2007 @ Looking at y'all and sighing
#6
I'm not an expert on init scripts but I believe they have the start function.

Copy an existing init script or edit an s99 script and add your xmodmap line under the start function
 
Posts: 6 | Thanked: 1 time | Joined on Apr 2008
#7
Sorry to ask an obvious question, but where do I find existing startup scripts if not in /etc/int.d/, and what's an s99 script?
 
qwerty12's Avatar
Posts: 4,274 | Thanked: 5,358 times | Joined on Sep 2007 @ Looking at y'all and sighing
#8
Ah, from what I understand, scripts are stored there and then symlinked to /etc/rc2.d/ wth S** in front.

An s99 script are the last scripts to be executed.
 
Posts: 6 | Thanked: 1 time | Joined on Apr 2008
#9
Just figured it out - you're absolutely right. All the files in the /etc/rc*.d directories appear to be symlinked to /etc/init.d.

I just added my one-line script to /etc/init.d/osso-systemui, and it now works automatically on boot Next I think I'm going to remap the full-screen button (keycode 72 F6) to some arbitrary key, then disable the hard-button itself so that it becomes almost impossible to exit the browser after you've maximized...

Thanks again for all the help! BTW, I'm going to write up how I've configured the 40 n800's we're using for this project to make it easier for anyone else thinking about using these devices for a similar application - I'll post the link here when it's up.
 

The Following User Says Thank You to yskel For This Useful Post:
b-man's Avatar
Posts: 549 | Thanked: 502 times | Joined on Feb 2008 @ Bowling Green Ohio (united states)
#10
Glad we were able to help! good luck!
 
Reply

Thread Tools

 
Forum Jump


All times are GMT. The time now is 02:58.