Vision Client Keystroke Scripts and F2

So I am updating an old factory link scada system to ignition, and they heavily used the function keys for nav and control. Everything works great, but the script tied to the F2 key. It will work fine, and then stop working all together.

I believe it to be a focus issue, where a component on screen is taking focus and eating the F2 command, instead of passing it to the client. When the client is in the state where it won’t fire the script, if I click inside an input component, the script will run(because I believe this component knows to pass the action to the client).

I have gone through the project and disabled focusable from all the objects in the header and footer, but it still happens sometimes.

Any ideas on how to get this script to run reliably off of F2 keystroke binding?

Sorry to say; No solution because I have similar problems.

We have to rebuilt an old application where navigation can (also) be done by using CTRL+ F1 - 12 and certain functions are triggerd by F2 - F12.
This works fine, as long as no other windows are clicked. When you do, certain CTRL+F keys stop working. (CTRL F5 - F8)
I've got a support request open, but no real answers there. Only to create an unsupported script and attach it to every window to override keystrokes. I.m.h.o. sounds like a work-around.
Post: https://forum.inductiveautomation.com/t/client-keystroke-script/22289/5

I've created a super simple project with just one screen and a button on that screen and keystroke-scripts for CTRL + F1 - F12 and F1 for good meassure.

Keystroke script for CTRL F1 - F12 and F1

def onKeystroke():
	print("keystroke Key: %s, ctrl:%s, alt: %s, shift:%s, action: %s." %('F1', True, False, False, 'Pressed'))

Script on Event Handler of Button in the action-section under actionPerformed

print("Action performed on button: %s, on window: %s." %(event.source.name, system.gui.getParentWindow(event).name))

When the application launches, all CTRL-F keys and F1 are functioning (see log script in the client diagnostics below) When I press the button and the main screen that print statement is executed and visible in the diagnostics as well.
After that, CTRL +F4 and CTRL + F6 are no longer printing their statements. Instead CTRL + F4 seams to close the opened window.... ??

From the client diagnostics (from startup):

Client diagnostics

15:21:41.419 [Thread-0] INFO com.inductiveautomation.ignition.client.gateway_interface.GatewayConnectionManager -- Updated login state. Logged in? true, Username: croon, Roles: [Administrator], Security Zones:
15:21:41.421 [Thread-0] INFO com.inductiveautomation.factorypmi.application.runtime.ClientLaunchHook -- Auto-login successful
15:21:41.481 [ProjectDownloader] INFO Vision.DownloadProjectPane -- Downloading "http://localhost:8088/data/vision/client/project/plainFunctionKeys"...
15:21:41.501 [ProjectDownloader] INFO Vision.DownloadProjectPane -- Connect successful.
15:21:41.502 [ProjectDownloader] INFO Vision.DownloadProjectPane -- Starting download of 7.072 bytes
15:21:41.504 [ProjectDownloader] INFO Vision.DownloadProjectPane -- Download successful
Writing project to cache file C:\Users\croon.ignition\cache\gwlocalhost_8088\C0\CplainFunctionKeys.proj
15:21:42.592 [WebSocket@798491452-39] INFO com.inductiveautomation.ignition.client.gateway_interface.GatewayConnectionManager -- WebSocket session is connected
15:21:42.635 [connection-worker-1] INFO tags.subscriptions -- Changing connected quality to 'Good'
15:21:46.465 [AWT-EventQueue-0] INFO vision.App -- Starting Up...
keystroke Key: F1, ctrl:True, alt: False, shift:False, action: Pressed.
keystroke Key: F2, ctrl:True, alt: False, shift:False, action: Pressed.
keystroke Key: F3, ctrl:True, alt: False, shift:False, action: Pressed.
keystroke Key: F4, ctrl:True, alt: False, shift:False, action: Pressed.
keystroke Key: F5, ctrl:True, alt: False, shift:False, action: Pressed.
keystroke Key: F6, ctrl:True, alt: False, shift:False, action: Pressed.
keystroke Key: F7, ctrl:True, alt: False, shift:False, action: Pressed.
keystroke Key: F8, ctrl:True, alt: False, shift:False, action: Pressed.
keystroke Key: F9, ctrl:True, alt: False, shift:False, action: Pressed.
keystroke Key: F10, ctrl:True, alt: False, shift:False, action: Pressed.
keystroke Key: F11, ctrl:True, alt: False, shift:False, action: Pressed.
keystroke Key: F12, ctrl:True, alt: False, shift:False, action: Pressed.
keystroke Key: F1, ctrl:False, alt: False, shift:False, action: Pressed.
Action performed on button: btnTest, on window: Main.
keystroke Key: F1, ctrl:True, alt: False, shift:False, action: Pressed.
keystroke Key: F2, ctrl:True, alt: False, shift:False, action: Pressed.
keystroke Key: F3, ctrl:True, alt: False, shift:False, action: Pressed.
keystroke Key: F5, ctrl:True, alt: False, shift:False, action: Pressed.
keystroke Key: F7, ctrl:True, alt: False, shift:False, action: Pressed.
keystroke Key: F8, ctrl:True, alt: False, shift:False, action: Pressed.
keystroke Key: F9, ctrl:True, alt: False, shift:False, action: Pressed.
keystroke Key: F10, ctrl:True, alt: False, shift:False, action: Pressed.
keystroke Key: F11, ctrl:True, alt: False, shift:False, action: Pressed.
keystroke Key: F12, ctrl:True, alt: False, shift:False, action: Pressed.

I'm running this project on 8.1.44 and now imported it on 8.3.4, same results...
Any help/ideas anyone?

Sounds like the Focusable property on the button is set to True.

Can you try to turn that off and test again?