Capture a keyboard event on af:panelGridLayout?

Hi,
<af:panelGridLayout> currently supports a client listener with mouse events.
But I have a requirement where I need to capture keyboard events.
I tried adding an invisible inputText component on the page and focus on it onclick of the panel.
My assumption was that when the inputText is on focus, it should be able to capture keyboard events even though its invisible.
This does not work. Please see code below. The "showAlert" javascript method never gets called.
<af:inputText clientComponent="true" visible="false" value="dummy" id="keyLink">
     <af:clientListener method="showAlert" type="keyUp"/>
</af:inputText>
<af:panelGridLayout id="pgl3">
    <af:clientListener method="toggleRowSelection" type="click"/>
</af:panelGridLayout>Javascript code:
function showAlert(event) {
    alert("javascript event " + event.getKeyCode());
function toggleRowSelection(event) {
    var source = event.getSource();
    var keyLink = source.findComponent("::keyLink");
    keyLink.focus();
    callServerMethod(event);
};How do I achieve this?
-Anitha

"[email protected]" <[email protected]> wrote in message news:[email protected]..
I have figured out how to add menu Item to an existing EXE program, but I have not yet been able to figure out how to capture there events.&nbsp; Any help would be greatly appreciated.
It's not entirely clear what you are trying to acieve. I think you're trying to add menu items to an exsisting exe without recompiling it, from LabVIEW. If so the following applies.
You have to hook the winproc. When a menu item is selected, windows send a message to the window's winproc. There are some API's that can be used to point the address of the winproc to another routine. This routine can do filtering, and then call the original routine.
Note that LabVIEW doesn't (or didn't until LV7) use windows menu's, so when a LabVIEW (or exe created with LabVIEW) menu item is called, windows will not send anything. That is the price for platform independency.
I think the OpenG site (or perhaps Winutils from NI) has some vi's to hook windows messages that are send to LabVIEW. Perhaps you can also use them hook another application.
Regards,
Wiebe.

Similar Messages

  • Capturing all keyboard events.

    I'm using the keyboard to control a mobile robot through a Java applet.
    I also have lots of other buttons in the applet. I don't want to add KeyListeners to all of the buttons. So is there a way to directly capture all keyboard events? So that no matter which button has the focus, the keyboard events would be processed?
    Thanks a lot!

    I don't want to add KeyListeners to all of the buttons.You could use a single KeyListener and add it to each button.
    So is there a way to directly capture all keyboard
    events? So that no matter which button has the focus,
    the keyboard events would be processed?I don't know if this works or not, but check out Toolkit.addAWTEventListener().

  • Capturing typed keyboard events from another app

    Hi everyone, thanks in advance for any help you might be able to give me.
    I have written and inventory app and an point of sale app. I need some way to capture what is keyboarded into the inventory app so that I can fire some events in the pos app.
    How can you capture typed keypresses if your app doesn't have direct focus? Can I request focus without impeding what is being typed into the other app??
    Any ideas would be greatly appreciated ...
    Ken.

    You won't be able to request the focus and continue letting the user type in the inventory app.
    My idea to solve your problen: accces to the event queue inventory aplication and make a copy of the events that suceed in it, letting the inventory aplication consume normally it's event and fowarding the copy to the other aplication.
    abraham.

  • Capture All Mouse and Keyboard events even if java window NOT in FOCUS

    Hi All,
    Is this possible to capture all mouse and keyboard events even if java window is not in focus or is minimized. This java program should cature each and every event from the user once the program is started. Any help in this regard is appreciated!
    Thanks&Regards
    Sam

    I don't think you can. (without JNI)

  • Capture keyboard events using c# in SBO

    How do I capture keyboard events(especially those with Control like CTRL-R) in SBO using C#??

    Payal,
    You will want to look at the UI API Help in the SDK Help Center and specifically look at the "SendKeys" method.  This will allow you to send keyboard key strokes to the UI.
    Your post is related to the Business One SDK.  That forum for questions and answers for the Business One SDK is located on the SAP Business One page on SDN and then under the SAP Business One Discussion Forum.  This forum is for the SAP Business One Integration Technology.
    HTH,
    Eddy

  • Flex 4 does not dispatch keyboard events for ENTER key.

    Hello everyone. I think I have a strange problem with Flex 4 Beta (4.0.0.8909). My application has had event listener for keyUp event for a month now and suddenly (two days ago) I've noticed that keyUp event is not dispatched for ENTER (ALT also) key. Anyone know why? By the way, I've tried this with keyDown event, also 4.0.0.8847 version of SDK - still the same: no keyboard events for ENTER (and ALT) key.
    Here is the sample application that has got this issue:
    <s:Application
       xmlns:fx="http://ns.adobe.com/mxml/2009"
       xmlns:s="library://ns.adobe.com/flex/spark"
       xmlns:mx="library://ns.adobe.com/flex/halo"
       minWidth="640" minHeight="480"
       keyUp="application1_keyUpHandler (event)">
       <fx:Script>
          <![CDATA[
             import mx.controls.Alert;
             protected function application1_keyUpHandler (event: KeyboardEvent):void
                Alert.show ("Key up: " + event.keyCode);
          ]]>
       </fx:Script>
       <s:layout>
          <s:BasicLayout/>
       </s:layout>
       <s:TextArea verticalCenter="0" horizontalCenter="0" width="200"/>
    </s:Application>
    If you run this application and try typing anything in a TextArea you will get alerts with key codes. However, if you press ENTER (or ALT), you will get no alert.
    I'm pretty sure the code above is right so that means there is a bug in latest nightly builds of SDK (i would swhitch to an older build if i knew which one does not have this bug).
    Any ideas?

    Flex harUI wrote:
    That's true, but in this case, I think the text editing code is eating ENTER key in order to prevent parents from seeing it and acting on it (like a submit button).  We'll see if we can find a way around that.
    You can get the ENTER key now by listening in capture phase.
    Alex Harui
    Flex SDK Developer
    Adobe Systems Inc.
    Blog: http://blogs.adobe.com/aharui
    The enter key isn't being disposed of by textedit, the attached example code works without error if you a- remove the alert box and b-set the focus to your text area on initialisation. I agree that pressing the enter key then calling a dialog box will result in the enter key being "gobbled up" as  the enter key is overridden by the dialog box code.
    I think the first suggestion should be to anyone don't use dialogboxes for testing code. If for some reason debugging isn't desirable instead of a trace statement a simple label  can be used as a 'fake' trace.
    David
    Message was edited by: David_F57: I worded this wrong, imho there is no need for a work around, the textarea component works as it should. When intercepting 'system' keycodes there is a need to consider the effect of the intercept and code appropriately to that end.

  • Just started with NetBeans IDE, need to capture all keyboard input!

    Hello,
    I discovered that I can only capture keyboard events when my GUI application has focus. Ok, but I need a functionality that can capture all keyboard input, even if my application runs in the background or in the system tray.
    How can I achieve that?
    Regards,
    Mirza

    I know...sorry, didn't mean to imply otherwise.Don't worry about it; I wasn't offended. (I didn't think that that was what you were tying to do.) I was trying to (subtly) take this a different direction. (Was going to write something Solaris specific or perhaps something in ASM that would effectively do what the O/P wanted. Seeing as how Key Loggers only serve one practical purpose - as far as I know - I just wanted to give him code that he could do nothing with.)

  • Listen Keyboard events in AIR for iOS? [HELP]

    It works in the browser...  Is there any way in AIR to do this for iOS ?

    Hi, this is an old post but it is related to issues that still in Adobe AIR 3.7, I have the same situation implementing an iCade controller, I have solved the problem creating an iCade proxy that use a hidden TextField to capture text change events that are mapped into keyboard events and finally dispatched to the game listener. This is the code so far, it works but is not optimized, im sure you can optimize and remove the useless code from here:
    package {
              import flash.display.DisplayObjectContainer;
              import flash.display.FocusDirection;
              import flash.display.Sprite;
              import flash.events.Event;
              import flash.events.KeyboardEvent;
              import flash.events.MouseEvent;
              import flash.events.TouchEvent;
              import flash.text.TextField;
              import flash.text.TextInteractionMode;
              import flash.ui.Keyboard;
               * ICadeProxy
               * @author Juan Fernando Vélez Melguizo - © Copyright 3DLogical - www.3dlogical.com
              public class ICadeProxy extends Sprite {
                        private var fireKeysDown:String = "yuihjk";
                        private var fireKeysUp:String = "tfmrnp";
                        public var inputField:TextField;
                        public function ICadeProxy() {
                                  if (stage) {
                                            init();
                                  } else {
                                            addEventListener(Event.ADDED_TO_STAGE, init);
                        private function init(e:Event = null):void {
                                  removeEventListener(Event.ADDED_TO_STAGE, init);
                                  inputField = this.inputFieldSource;
                                  initKeyboardCapture();
                        public function initKeyboardCapture():void {
                   inputField.text = "";
                                  inputField.addEventListener(Event.CHANGE, doKeyChange);
                                  inputField.addEventListener(Event.DEACTIVATE, doRefocus);
                                  inputField.addEventListener(MouseEvent.CLICK, doClick); // This is for debug only
                                  recoverFocus();
                        public function doClick(e:MouseEvent):void {
                                  trace("CLICKED ME:" + e.currentTarget);
                        public function dispose():void {
                                  inputField.removeEventListener(Event.CHANGE, doKeyChange);
                                  inputField.removeEventListener(Event.DEACTIVATE, doRefocus);
                                  stage.focus = null;
                        private function doRefocus(e:Event):void {
                                  recoverFocus();
                        public function recoverFocus():void {
                                  stage.focus = this;
                                  stage.focus = inputField;
                                  inputField.dispatchEvent(new MouseEvent(MouseEvent.CLICK, false, false, 384, 512, inputField));
                                  inputField.text = "";
                                  inputField.requestSoftKeyboard();
                        private function doKeyChange(e:Event):void {
                                  var t:String = inputField.text;
                                  var k:String = t.charAt(t.length - 1);
                                  var eventType:String = "";
                                  var newKey:uint = 0;
                                  if (k == "w") {
                                            eventType = KeyboardEvent.KEY_DOWN;
                                            newKey = Keyboard.UP;
                                  if (k == "x") {
                                            eventType = KeyboardEvent.KEY_DOWN;
                                            newKey = Keyboard.DOWN;
                                  if (k == "a") {
                                            eventType = KeyboardEvent.KEY_DOWN;
                                            newKey = Keyboard.LEFT;
                                  if (k == "d") {
                                            eventType = KeyboardEvent.KEY_DOWN;
                                            newKey = Keyboard.RIGHT;
                                  if (k == "e") {
                                            eventType = KeyboardEvent.KEY_UP;
                                            newKey = Keyboard.UP;
                                  if (k == "z") {
                                            eventType = KeyboardEvent.KEY_UP;
                                            newKey = Keyboard.DOWN;
                                  if (k == "q") {
                                            eventType = KeyboardEvent.KEY_UP;
                                            newKey = Keyboard.LEFT;
                                  if (k == "c") {
                                            eventType = KeyboardEvent.KEY_UP;
                                            newKey = Keyboard.RIGHT;
                                  if (k == "o") {
                                            eventType = KeyboardEvent.KEY_DOWN;
                                            newKey = Keyboard.Q;
                                  if (k == "l") {
                                            eventType = KeyboardEvent.KEY_DOWN;
                                            newKey = Keyboard.P;
                                  if (fireKeysDown.indexOf(k) != -1) {
                                            eventType = KeyboardEvent.KEY_DOWN;
                                            newKey = Keyboard.SPACE;
                                  } else
                                  if (fireKeysUp.indexOf(k) != -1) {
                                            eventType = KeyboardEvent.KEY_UP;
                                            newKey = Keyboard.SPACE;
                                  stage.dispatchEvent(new KeyboardEvent(eventType, true, false, 0, newKey));

  • Handling Keyboard Events

    Hi:
    Below is an Air application in which I am trying to catch keyboard events.
    I do catch it once. Subsequently when I try to catch the events, sometimes I must click on the canvas
    to refocus. Sometimes even this does not work. When I choose an option in DropDown list then the handler
    also stops working. Is there something missing in my envent Handler?
    Please advise and thanks for reading and helping.
    <?xml version="1.0" encoding="utf-8"?><mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml"layout="absolute" windowComplete="windowComplete();"> <mx:ApplicationControlBar id="dockedBar" dock="true" paddingLeft="0" paddingRight="0"> <mx:ComboBox dataProvider="{stats}" id="statsC" change="statsChangeEvt(event)" /></mx:ApplicationControlBar>
    <mx:Array id="stats"> <mx:Object label="Option 1"/> <mx:Object label="Option 2"/></mx:Array><mx:Script> <![CDATA[ import mx.controls.Alert; private function windowComplete():void{stage.addEventListener(KeyboardEvent.KEY_DOWN, handleKeyDown);} public function handleKeyDown(event:KeyboardEvent) :void{Alert.show("Key pressed");} private function statsChangeEvt(event:Event):void { Alert.show("Stats Changed")};]]></mx:Script> </mx:WindowedApplication>

    Try listening to the keyDown event in the capture phase.
    addEventListener(KeyboardEvent.KEY_DOWN, handleKeyDown, true).
    ComboBox stops the propogation of the event if it is something that it handles. This is why you don't get it in the bubble phase.
    Jason

  • Recording [slide] does not capture web app events

    Captivate 7, Win 7
    I'm trying to capture actions in PeopleSoft. I've done this in Cap 6 and Cap 5/5.5 with the same Training settings. When I click links, check boxes, or buttons, none of the interactions are captured. In fact, only the first one or two screens are captured when there should be 10-15. I've tried this with both automatic and manual settings. I'm sure I just have something set up incorrectly. Here is a screen shot of my settings:
    Thanks for any help!
    Mary

    Hi Mary,
    Can you retry recording that web application after Launching Captivate as administrator. (Righ click on Captivate 7 icon, then click on Run as admin).
    Also, try opening that web application in a different browser this time if you can and check whether it creates a slide on every mouse and keyboard event?
    and is it creating the Video demo slide for your mouse movements and drag and drop actions? (if you have checked smoothen movement for drag and drop, and mouse wheel actions from Recording > Settings).
    Thanks.

  • CS2: Listbox and keyboard events

    Hello all,
    I have a listbox widget in a Palette, I need to catch keyboard events specifically I need to be notified when the user presses the RETURN key.
    I checked the PanelTreeView sample which defines a custom event handler but functions like KeyDown or KeyCmd are never called despite "CanHaveKeyFocus" has been modified to return kTrue.
    How can I be notified when user presses the RETURN key in the PanelTreeView listbox?
    Thanks in advance ...
    Jorge Martinez

    If the StageWebView has focus, you should be able to capture only the hardware key events (like BACK, ..). All the others are handled internally by StageWebView.
    Do you see otherwise? If yes, can you post your application ?
    Thanks,
    Raul

  • ADF Mobile: amx:listView keyboard event handler

    My view needs to accept keyboard input, but does not have an inputText, only a listView. I need to update listItems based on the keyboard input, but cannot add an inputText field to the view. Can I capture keyboard events in the view, the panelPage, or the listView?
    Thanks,
    Mike

    Plzz help :(

  • How to Listen keyboard event

    I know we can capture the events triggerd from indesign to extension e.g. 'attributeChange', 'documentOpen' etc. But I really don't know If we could capture keyboard events also in Extension palette, fired from InDesign CS6. Which is my current requirement.
    Can some one put some light on this ?
    Thanks
    Mac

    How did u manage to get the events like "documentOpen" worked. Can you share ? And for the keyboard events i guess you can capture using Flash API , but the focus have to be in your extension.

  • How to capture Wnidows(OS) event from Java program

    Hi,
    I am developing one application , in that if the user didn't do any thing in 15 mins,i need to log out from my application(not windows).Here i need to check Java event as weel as windows(OS) events also.Any one knows how to capture the OS events??

    I want to know the status of mouse and keyboard(Windows 2000).If the status of the mosue or keyboard doesn't change from 15min i need to log of the java application.

  • Responding to keyboard events when focus is lost

    Is there any way to have a Java Application respond to keyboard events if the focus has been lost?

    Media programs respond to keyboard events to turn up
    the volume, etc... and the program does not have to
    have the focus to do this.On the computer I'm using here, the keyboard button
    to raise/lower the volume goes to the OS's volume control.
    Not to an arbitrary application.
    So the situation in your analogy is not mandatory.
    And more generally, even if your app is not hidden,
    users do not expect that it will "steal" keystrokes.
    Let's say I download a very cool "World Clock Display"
    program that displays the world time of New York
    and Tokyo in the background.
    Let's say I then go to my bank's website.
    I do not want that the World Clock Program
    (which is in full view) to capture my bank password.
    (Clarification: on Windows, on Linux... it is
    actually perfectly trivial for a C/C++ program
    to capture all keystrokes in the background.
    But I do not know if you can do it using Java or not)

Maybe you are looking for