Forum Discussion
Function Keys Interactivity in Storyline Using JavaScript
I am creating simulation for a software in storyline. This simulation has function keys interactivity - F2,F3,F10,F11.
I was able to write trigger code - Jump to Slide when user presses F3 keys.
When I am publishing this project, the function keys are responding to the browser function keys. e.g. when I press F3, instead of going to slide F3, its showing browser's find feature.
I tried to do research on google and articulate forum for how to use functions for simulation its leading me JavaScript.
I understand that I need to use trigger - Excute JavaScript in Storyline.
But I don't know how to write a javascript.
I need JavaScript which will disable browsers function key e.g. F3 and if user presses F3 it should go to the next slide.
I guess I need two JavaScripts; the one which will disable browser's function key, and the other which will assign the user defined function that is go to F3 slide if user presses F3 funciton key.
I know there are tons of website which will give you javascript code. But I find it difficult execute in the Storyline.
I have created an example and uploaded the storylline file in this message.
Please help me to write the javascript in storyline.
Thanks in Advance.
- PamRobinson-a55Community Member
I have been struggling with this too and need an assist. I have created an AS400 step-by-step simulation in Storyline 2 that requires users to press the F4 or F6 key to move to the next slide. I have executed this javascript: document.onkeydown = function (e) {if(e.which == 115){return false;}} for F4. (I changed 115 to 117 for F6) They appear to be disabled but they don't advance to the next slide, even when I add a second trigger to jump when the user presses the key.
Any ideas?? My workaround of placing a hotspot over the function onscreen to jump fell flat with my test group because they were able to execute other activities using their keyboard in the training.
Thanks in advance!
- KarenOpperman-6Community Member
Hi Pam, almost all of my work-arounds were successful except for the F2 and F3 for the simulations I created. In the end I didn't use them, but instead added the follow comment:
"In the live environment, press F2 to continue. For this example, press Enter."If anybody else has a solution to this problem, I'd love to know as well!
- WaltGillCommunity Member
Yeah, I also tried using that javascript and it will not work. I wish there was a solution to this.
- kristinahard226Community Member
Just found this thread, and I'm in the same position. Writing training for a mainframe system and have to use the F1 - F9 keys. As someone already stated, F1 opens the Articulate help site, and F2 doesn't work at all.
Has anyone found a solution to this yet?
- OwenHoltSuper Hero
This does work, even for F1. It is a bit tricky, however because, as you pointed out, when you select F1 while authoring, the Articulate help site opens. If, however, you use your mouse to click back on StoryLine in the ribbon, you will see that the F1 key is still selected in your trigger wizard window. If like me you typically use the alt + tab shortcut to toggle between windows, you will learn that this particular window navigation method replaces F1 with Tab... so be sure to use your mouse to navigate back to SL from the help window.
- ChelseaJohnson-Community Member
Hello!
I was wondering if anyone had found some javascript that worked for making function keys work?
Thanks!
- BCHarperCommunity Member
I have driven myself beyond crazy trying to find a way. I just don't think it's possible. I have settled with having to maintain a "virtual keyboard." Not very realistic, but most of the learners seem to be able to follow along just fine. Wish there was a better answer :-/
- PamRobinson-a55Community Member
I have also been frustrated with that code. F10, F11, F12 and F1 and F4 always want to respond in the browser. The rest will work fine. Also, no one has addressed the Shift + Function keys of the extended keyboard (we use all 24 function keys). And Chelsea, I agree with you that it could be user error on my part. My solution was to use a hotspot button to resolve.
- OwenHoltSuper Hero
Pam, Did you look at my SL2 file? You can see it working for F1 through F12. I haven't looked at or tested the Shift + keys yet.
- michelleeamesCommunity Member
I have to confess when I did this I created a fake keyboard at the bottom of the screen with the F keys. :-)
- StuartGilbert-5Community Member
My comment is in respect to a fairly old thread, I know. I just want to say thanks to those who contributed and especially to Owen for supplying the .story files. I am about to do a simulation of a mainframe system that uses F-keys and it looks like the information supplied in this thread will really come in handy - and make me look really good in the process. ;)
Thanks again to all.
- StuartGilbert-5Community Member
I am building a course that mimics a mainframe system (HIMR) and I am experiencing some difficulties with what I will call "non-standard" keys. For instance, I need the learner to input a text string with a Tab key; another example is using a combination of keys (Shift+F1) to perform an action.
I have loaded a test version of the course to the LMS for testing, and I am not only getting incorrect results, but their actions differ from one browser to another.
I won't go through the trouble of uploading my .story file here unless this thread is still live. If it is, and if someone might be able to lend a hand, it would be greatly appreciated.
Thanks
Stuart Gilbert
- BCHarperCommunity Member
Stuart - For my part, I could only get Chrome to work properly. I ended out Putting a disclaimer at the beginning of the course that you must complete the course with Chrome. Since then I haven't had any learners with issues.
- StuartGilbert-5Community Member
That's exactly what I didn't want to hear. :) It sounds like it's exactly what I will have to do as well.
Thanks very much for letting me know.
- BCHarperCommunity Member
Someone else may be better able to find another solution or understand, but the explanation I found was something to do with the coding of IE. the Javascript will not override IE's functions; whereas, Chrome is able to support the override.