Re: Re: Key Press php-gtk1
| From: | Madeleine D. | Date: | Mon, 15 Feb 2010 20:50:29 +0000 |
| Subject: | Re: Re: Key Press php-gtk1 | ||
| References: | 1 2 | Groups: | php.gtk.general |
| Request: | Send a blank email to php-gtk-general+get-8471@lists.php.net to get a copy of this message | ||
Brian -
You need to add 'add-events', after the realize, as in:
$alert_window->add_events(GDK_KEY_PRESS_MASK|GDK_KEY_RELEASE_MASK);
The key press mask is probably not needed, but I always add it anyway.
Madeleine D.
Brian Stumm wrote:
Not sure if messages are going through or not but... I've discovered the key-press-event and key-release-event and while key-press is working for me, the key-release does not seem to work. Here is a snippet from my code: $alert_window = &new GtkWindow(GTK_WINDOW_DIALOG); $alert_window->connect('delete-event', 'hide_window'); $alert_window->set_border_width(0); $alert_window->set_policy(0, 0, 0); $alert_window->set_title('Notice!'); $alert_window->set_name('AlertWindow'); $alert_window->set_usize(400,430); $alert_window->realize(); $alert_window->set_position(GTK_WIN_POS_CENTER); $alert_window->connect('key-press-event', 'onKeyPress'); $alert_window->connect('key-release-event', 'onKeyRelease'); -----------------8<--SNIP /***** ONKEYPRESS/RELEASE() *****/ function onKeyPress($widget, $event) { global $righthand, $lefthand; echo "Pressed: " . $event->keyval; return true; } function onKeyRelease($widget, $event) { global $righthand, $lefthand; echo "Released: " . $event->keyval; return true; } Key Press echo's Pressed and a value (numeric) but the key release does nothing. Am I doing something wrong? On Mon, Feb 15, 2010 at 6:01 AM, Brian Stumm <bstumm@energytechnologysystems.com> wrote:First, I am still using php-gtk1. I'd like to make the move to v2 but do not have the luxury right now. I am looking to detect when keys are pressed (and held down) in php-gtk version 1. This is for a "two hand, no tie down" safety feature on our machines. Access to our machines is made possible by lifting the top of the machine using air cylinders. The air cylinders are controlled via an electric valve. To lower the top I need to require the user to press two keys on opposite sides of the keyboard and keep them depressed until the top closes completely. If they release before the top closes completely the top should go back up. Is there a way I can monitor key press and key release in version 1 of php-gtk? -- Brian Stumm ETS Energy Technology Systems, Inc. http://EnergyTechnologySystems.com bstumm@EnergyTechnologySystems.com 509-276-2015 (PH) 509-276-2016 (FX)