How to invoke a key press event in application that has focus

Even though I know there are programs out there already that do this similar function, I want to write my own program that converts MIDI events into keypresses. Here is how it would work:
- my program does not have focus, some other app has focus while my app runs in the backround
-a midi event happens
-a mapping is done by my app running in the backround: midi event->keypress
-my app causes a keystroke event to be sent to whatever application has the focus.
my problem:
The part I am having trouble figuring out is how to invoke a keypress to the application that has the focus. Can someone shed some light how this would be done? I have learned a little about the Text Services Manager but this just a component of Carbon. I'd think that I needed to talk to a much lower level part of the operating system to be able to send a keypress to ANY app that is running.
I would prefer to work in Carbon, c++
The thing that would make my midi-keystroke program different from others out there is a much more complex mapping algorithm between the MIDI event and the keypress chosen. That's why I want to write my own.
Thanks much anyone who can help!!
Jay

quartz event services contains the calls needed to perform this function

Similar Messages

  • How to binding a key press event of "Esc" to "cancle" button

    I create a class extended JComponent. Than I add a button named "cancle " to it.
    Than I add the class's instance to a JDialog object.
    I try to get the key press event through add a keyListener to the class instance, but no works.
    I try to add a keymap and action map to the dialog 's getRootPane() also no works.
    Who can tell me how can I do?

    Thats the way I did it:
        // map escape key
        ActionListener escapeActionListener = new ActionListener()
          public void actionPerformed(ActionEvent e)
            cancelPressed();
        this.registerKeyboardAction( escapeActionListener,
                                     KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0, false),
                                     JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT );

  • How to detect space key pressed event

    I am working on a japplet where it is needed to pause the applet on the occurrence of a space bar key pressed event can anybody help
    thanks in advance

    Have a look at the tutorial:
    http://java.sun.com/docs/books/tutorial/uiswing/events/keylistener.html
    http://java.sun.com/docs/books/tutorial/uiswing/misc/keybinding.html
    -Puce

  • How can i call key press event for dynamically  created texbox

    Hi,
    I create a one texbox using javascript .now i want to call onFocus event that textbox.How is it

    I develop grid application using javascript only.When they press add button dynamically add one row and each cell contain one textbox for enter new data.if they want to edit previous data when cursor goes to that textbox,all textvalue is selected format

  • How to handle form close event or escape key press event for user defined f

    Experts,
    Please let me know how to handle form close event or escape key press event for user defined form...
    Thanks & Regards,
    Pravin.

    Hi
    You can catch the form close event like this
    If ((pVal.FormType = 139 And (pVal.EventType = SAPbouiCOM.BoEventTypes.et_FORM_CLOSE)) And (pVal.Before_Action = True)) Then
          Try
                   SBO_Application.SetStatusBarMessage(pVal.EventType.ToString())
          Catch ex As Exception
                    SBO_Application.SetStatusBarMessage(ex.Message)
            End Try
          End If
    Hope this helps
    Regards
    Arun

  • How to pass the key pressed in javascript

    I'm asking this question here as I could not find the needed help elsewhere .
    I don't know how to pass the key pressed in the function on OnKeyPress event .
    I'm trying the following :
    <input type="text" name="a" onKeyPress="check();">
    I want to pass the key presses in the check function .
    How to collect the key pressed in the function check ?
    Thanks.

    As I said above, that won't work in Mozilla.
    In fact IMO Netscape/Mozilla javascript event handling has been behind IE since version 4.
    Be that as it may: here is a workaround (for Mozilla): It seems you have to assign the onkeypress event for it rather than declaring it as part of the textfield.
    Of the two textfields on this form, both work in IE, and only the first one will work properly in Mozilla. I left it in just to demonstrate the difference.
    And a couple of links for ya
    javascript forum: http://forums.webdeveloper.com/forumdisplay.php?s=&forumid=3
    Keypress events: http://www.din.or.jp/~hagi3/JavaScript/JSTips/Mozilla/Samples/KeyEvent.htm
    <html>
    <head>
    <script language="javascript" >
    <!--
    function check(evnt){
      alert("A key was pressed!");
      // IE handling
      if (window.event){
        evnt = window.event;
        alert(evnt.keyCode);
      // netscape/mozilla handling 
      else{
        alert(evnt.which);
    //-->
    </script>
    </head>
    <body >
    <form name="myform" method="post">
    Test <input type="text" name="myTest"><BR>
    Test <input type="text" name="myTest2" onKeyPress="check();"><BR>
    <script> document.myform.myTest.onkeypress = check; </script>
    </form>
    </body>
    </html>

  • Raise Key pressed event

    Hello, any know how can I raise a key press event throw code. For example I want to simulate that the user has press the A Key. How can I do that throw code?
    Thanks a lot !!

    Hi there,
    Your question has been discussed previously in the forums. Sounds like you want to programmatically click a button in WPF.
    Please check out this post
    http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1329603&SiteID=1
    Thanks,
    Jennifer

  • Capture key press events with ExtendScript?

    Is it possible to do this?  I can't find an example in the documentation or online anywhere.  I'd really like to know when the user presses the arrow keys while viewing the slideshow in Bridge.
    Thanks!

    Thanks for the example Paul.  I can see how to listen to key down events on Windows and Dialogs that I create.  Do you know of way to listen for global (app-wide) key down events? These are not defined:
    app.addEventListener('keydown',...)
    app.document.addEventListener('keydown',...)
    I'm trying to add to the slideshow mode by having a little palette dialog with the context information shown that I need.  The default caption box doesn't have what our artists want.  If the palette window is in focus, I get the keydown event, but if they're using the arrow keys to flip through the slideshow, I can't capture those.
    Thanks for the help.

  • Question about generate key press event to system. help plz.

    I am wondering if it is possible to write a java program to generate key press event(not receiving)to the local system so all the other program in the system receive those key press event also. Thanks.

    Hi,
    :. I don't know what exactly you intend to accomplish. But, I have used the following code in order to simulate keys pressing inside a Java application.
          /* - - - Simulates TAB (java.awt.Event)
          EventQueue evtq = Toolkit.getDefaultToolkit().getSystemEventQueue();
          evtq.postEvent( new KeyEvent(this, KeyEvent.KEY_PRESSED,
                          0, 0, KeyEvent.VK_TAB, KeyEvent.CHAR_UNDEFINED) );
          evtq.postEvent( new KeyEvent(this, KeyEvent.KEY_RELEASED,
                          0, 0, KeyEvent.VK_TAB, KeyEvent.CHAR_UNDEFINED) );
          /* - - - Simulates Shift+TAB (java.awt.Event)
          evtq.postEvent( new KeyEvent(this, KeyEvent.KEY_PRESSED, 0,
                          InputEvent.SHIFT_DOWN_MASK, KeyEvent.VK_TAB,
                          KeyEvent.CHAR_UNDEFINED) );
          evtq.postEvent( new KeyEvent(this, KeyEvent.KEY_RELEASED, 0,
                          InputEvent.SHIFT_DOWN_MASK, KeyEvent.VK_TAB,
                          KeyEvent.CHAR_UNDEFINED) );:. However, as far as I know to send keys to the whole OS you have to create a 'Hook' as described inside Win32API documentation. That's for Microsoft Windows naturaly.
    Cheers.
    Roque

  • Unable to receive Tab key press event

    Hello,
    I have written a component which extends JComponent.
    For that , when Tab key is pressed I need to process something.
    I have overridden the function processKeyBinding in my class.
    But I am not getting any event for tab key press. For all the other key press events, the function is being called.
    I also tried to create a action and add it to the action map. But that is also not working.
    Can anyone explain me why it is not working and give me the solution.
    Thanks in advance,
    Anu

    public static void removeTabFromFocusTraverval(Component c) {
         int id = KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS;
         Set strokes = c.getFocusTraversalKeys(id);
         Set newStrokes = new HashSet(strokes);
         newStrokes.remove(KeyStroke.getKeyStroke("TAB"));
         c.setFocusTraversalKeys(id, newStrokes);
    }

  • Can we fire key press event programmatically????

    hi there,
    is it possible in java to fire a key press event (of the associated component) programmatically??? like we can fire action event of a button by saying
    button.doClick();
    thanks in advance.
    anshu

    You can do so by using awt.Robot.keyPress(), just don't forget to do awt.Robot.keyRelease() afterwards!
    Note that it doesn't work for Applets unless you sign them, for security reasons (you don't want to go into a site and have the applet click ctrl+alt+del for you, right?)
    Cheers!
    Moti

  • Key press detection when application is running in the background

    Is it possible to detect any key presses when the application is in the background?

    The key-related, pointer-related, and paint() methods will only be called while the Canvas is actually visible on the output device. These methods will therefore only be called on this Canvas object only after a call to showNotify() and before a call to hideNotify(). After hideNotify() has been called, none of the key, pointer, and paint methods will be called until after a subsequent call to showNotify() has returned. A call to a run() method resulting from callSerially() may occur irrespective of calls to showNotify() and hideNotify().
    The showNotify() method is called prior to the Canvas actually being made visible on the display, and the hideNotify() method is called after the Canvas has been removed from the display. The visibility state of a Canvas (or any other Displayable object) may be queried through the use of the Displayable.isShown() method. The change in visibility state of a Canvas may be caused by the application management software moving MIDlets between foreground and background states, or by the system obscuring the Canvas with system screens. Thus, the calls to showNotify() and hideNotify() are not under the control of the MIDlet and may occur fairly frequently. Application developers are encouraged to perform expensive setup and teardown tasks outside the showNotify() and hideNotify() methods in order to make them as lightweight as possible.
    The above answer you might have found in the JAVADOC, if you would have gone through the description of the Canvas class.
    Don't forget your DUKES as I had to search the JAVADOC for giving you the exact answer, which you should have done that yourself only!!!
    Shan!!!

  • How do I reset the clock on a G4 that has a spinning wait cursor?

    How do I reset the clock on a G4 that has a spinning wait cursor? Not sure of the OS, other than 10 something. This computer was initially set up to boot in either system 9 or 10, with 10 being the default. I just need it to run enough to get some old graphics files off if it. With the spinning cursor, I can't go into preferences to reset the clock. Suggestions?

    If the machine can boot to either OS 9 or OS X, and each of those is installed on a separate volume (partition), then restart or boot the machine and immediately press the Option key, keep it held down. After a few moments (maybe up to a minute), Startup Manager will open - a bright blue screen with some icons on it. Click the icon representing the OS 9 install, then click the straight arrow on the right.
    The machine should then boot into OS 9, and you may then be able to grab the files you need.
    Note - if OS 9 and OS X are on the same volume, this won't work.

  • How do I get a refund on Export PDF that has ALREADY been agreed

    On 1/21-1/22 I tried to 'renew' a subscription for Export PDF. By some error (maybe mine - I just dont understand the whole thing) my Bank was immediately charged for two subscriptions, each at a different price. I immediately "chat"ted with several  reps (it was difficult to get onto the chat and find out how to cancel) and was assured that both would be cancelled and refunded. They weren't!
    I waited a week. Was again frustrated by the chat hookup, and tried the 'cloud' retail product tel #, assuming it was wrong but that I could be switched to the correct one. Had a very pleasant chat, was assured that both would be cancelled and refunded, received 2 e-mails confirming the cancellations, each with a seperate "Case #". Felt pretty good! It had only taken me a week of reasonably diligent effort to get a very simple thing done! IT WASN"T DONE! (Yes, I apologize - I know I'm loud - but by now I've got steam coming out of my ears!)
    Today I got an e-mail, telling me that the refund had been processed and the case # would be closed. I looked at my bank, and only one had been refunded! I reviewed all the other e-mails and the notes from the telephone calls and chats to be sure I hadn't misunderstood something. But, no I hadn't. I went to my Adobe on-line and looked up 'my orders' history. Sure enough one had been invoiced and refunded ( the lesser charge of the two) but the other had ONLY BEEN INVOICED - NOT CANCELLED. And it seems that every piece of this transaction generates a new "order" , "case" or some other "reference #" - none of which are tied together, except by the invoice amount, when it is mentioned - which it typically IS NOT.
    My question, then, is : How can I get past this absolute frustration over every aspect of my interaction with Adobe and GET THIS TAKEN CARE OF?????????

    Hi Stacy,
        What frustration? (Just kidding !)
        As I mentioned, one of the two charges has been  refunded. Credited by
    Adobe on Jan 28, I believe I received it in my bank on Jan  30.
        The other charge, $25.37 of order # AD011017507,  has not been received
    by my bank yet. But this can't be that much of a surprise,  and has nothing
    to do with "10 business days" for refunds to post.
        To this minute, "My Orders" on Adobe website shows  that the order #
    AD011017507  was invoiced on January 22, but that no  credit invoice has been
    posted against this order to this moment!
        Can you begin to understand the frustration of  being unable, through
    all attempts to untangle this mess, starting within  one hour of the original
    order, with I believe nine different "Chats",  telephone calls and, finally
    a "problem" posting,  stretching over more  than thirteen days. Of course
    it doesn't make much sense to devote this much  attention to less than $50
    worth of stuff, but I do not let things like this  dangle.
        And can you imagine how loathe I am to deal with  Adobe for fear of
    some real problem?
        At any rate, I would certainly be pleased if you  can suggest a way for
    me to extricate myself from this. Any help would be  GREATLY appreciated!
        Thanks for your time and any trouble,
        Stephen Ellis
        <removed by admin>
    In a message dated 2/3/2014 4:08:59 P.M. Eastern Standard Time, 
    [email protected] writes:
    Re:  How do I get a refund on Export PDF that has ALREADY been agreed 
    created by StacySison (http://forums.adobe.com/people/StacySison)  in 
    Adobe ExportPDF - View the full  discussion
    (http://forums.adobe.com/message/6082008#6082008)

  • How to fix a problem with my book pro that has a gray screen with a folder with a question mark on it

    does any one know how to fix a problem with my book pro that has a gray screen with a folder with a question mark on it?

    Hello Mokhtary123 and welcome to Apple Support Communities,
    It will help us diagnose your problem to know the exact model, size, year built, RAM installed and OS you're running.
    But basically your system can't find the boot disk. Usually this is a symptom of a dead/dying/corrupted hard drive;
    A flashing question mark or globe appears when you start your Mac - Apple Support
    OS X Recovery
    http://support.apple.com/en-us/HT4718

Maybe you are looking for

  • "multiple users" on the same computer

    I'd like to access the same project with different users on the same computer. Getting the permissions setup for the folders and files was not a problem. But ... FCPX is not "seeing" the projects and events created by the other user; 1) They don't sh

  • When a vi hangs...how do I find out what it is waiting for?

    I have a vi.  It is "waiting for front panel activity".  I cause some front panel activity by pressing a control...and the vi functions.  I then press the same button again and the vi hangs, the front panel does not respond to any mouse activity.  Wh

  • IMac freezes with Parallels 7

    My system keeps getting kernel Panics with parallels 7. No other programs replicate the issue. And it only happens once parallels has fully loaded windows 7. Set up iMac 2011 i7 3.4Ghz Lion 10.7.3 Parallels 7 Build 7.0.15094 Windows 7 Ultimate This i

  • N80 V4 Firmware and vodafone

    I have recently bought TOM TOM Navigator 6 and have been having problems with the Bluetooth Connection for the GPS Unit.I have read on various forums that Firmware V4 will cure this issue, but the updater tells me I have the latest version which is V

  • Custom refnum - what is the underlying numeric type of refnums and how do I comply with the subtype

    Specific refnum I am planning using is based on the byte stream file refnum - and will be passed in and out of a DLL via code interface nodes - would it be U32 or I32 underlying type or something else? I am basing the sub-type concept on the followin