Forum Discussion

EdwardAgadja170's avatar
EdwardAgadja170
Community Member
2 months ago

LMS version of course not registering commands/triggers

Is there a reason why the trigger for a command works in the Storyline file but doesn't work in the LMS? I've commanded that the slide should move to the next layer if certain keys are pressed, and yet the LMS version just does not comply...

(For whatever reason, it's not working in the test file I attached either...)

  • AndrewHanley's avatar
    AndrewHanley
    Community Member

    If its definitely working ok in Storyline, then the LMS may be intercepting the keyboard events and not passing them through to your Storyline project; hence your trigger will never activate because it's waiting for keystrokes that never arrive.

    Unfortunately if this is the case, there isn't an easy fix. You could use Javascript to expose thr keyboard event and set up a listener, but not sure how familiar you are with JS?

    • EdwardAgadja170's avatar
      EdwardAgadja170
      Community Member

      I was hoping not to hear that. I'm not familiar with JS at all.

      It's strange because sometimes it works and sometimes it doesn't. I've completed this course before, no issue, and others have advanced past this slide as well. So I'm not sure if this is a strange inconsistency. 

      Were you able to view my attachment?

  • AndrewHanley's avatar
    AndrewHanley
    Community Member

    Ah well, that might be good news Edward! If it was thr keystroke issue with your LMS, I wouldn't expect this inconsistency. So perhaps all is not lost!

    I can't open your attachment till later this evening as I'm not in the office right now.

    If no one else has solved the riddle I'll have a look in a few hours

  • AndrewHanley's avatar
    AndrewHanley
    Community Member

    Hi again Edward.

    OK, Ive had a look at your Storyline file, and you are going to have to help me out here, because Im unsure of what you actually want happening.

    Is this supposed to be simulating a sort of coding interface, where the user types in a very long phrase - "[Determine Notional Score" and when they reach the "e" key, the notional score dropdown appears where then they can click it to autocomplete the text field!?

    At least, thats what my brain is making of it. The audio instructions say to click and select from the drop down.... but there isnt one! :D

    And nothing is working for me. I can simply type and thats it. No dropdown, no correct/incorrect, and nothing happening on the button press.

    There is a heck of a lot of triggers and button presses all going on here, so help me understand the desired functionality, and together Im sure we can get it working :)

    • EdwardAgadja170's avatar
      EdwardAgadja170
      Community Member

      Sure, so when you type "[Determine Notional Score" it should automatically take you to the next layer (Notional Score Dropdown) which does have a dropdown.

      The problem is that it's just not registering the trigger. Maybe there's a simpler way of doing this without requiring the user to press the Enter key. I want it to advance to the next layer as soon as the user types those characters.

  • AndrewHanley's avatar
    AndrewHanley
    Community Member

    Yeah, right now its not doing anything. No layer, no dropdown, no next. its jsut a text field that i can type in.

    Let me see what we can do.... ;)

  • AndrewHanley's avatar
    AndrewHanley
    Community Member

    Here you go Edward, try this.
    It's far from perfect but hopefully it will give you something to build upon.

    Everything should work now, and I took a few liberties to tidy up your layers and add in a DISABLED state on your main "save" button.... as well as a bit of simplification on the layers.

    Also, you'll notice that the text field is automatically focussed and doesnt need to be clicked on first. The user can now immediately just start typing!  ....... Noice! :P

    THe bad part is definitely that there is no error checking. I was trying to come up with a simple way to do this, but because Storyline has no idea what is inside a text box until it loses focus, it makes things harder. If it was me, I would have put a event listener in to a JS function and monitor it that way... but I didnt want to go the JS route for you.

    Anyways, let me know what you think, and if you need anything further.

    • EdwardAgadja170's avatar
      EdwardAgadja170
      Community Member

      Hmm, so I noticed that you removed all of the triggers from the layer. Instead, it advances when the users press the "e" key, but this is not what I'm trying to achieve with this slide. I'm trying to get them to type the entire sequence of words or whatever you would call it: [Determine Notional Score

      It's clearly a lot trickier when you can't simply press one key because it's repeated several times throughout the "sequence."

  • Nedim's avatar
    Nedim
    Community Member

    Hi Edward,

    Andrew is right that JavaScript is the better solution for this interaction. With Storyline alone, you would need a way to remove the focus from the text entry field in order to validate the learner's input and generate an error if words are mistyped. I suggest validating the entire phrase (all three words) before jumping to the Dropdown layer. Instruct the learner to hit ENTER when typing is complete. If the typed words are incorrect, show the Incorrect layer; if all is correct, show the Dropdown layer. This can be achieved with just two triggers. Please see the attached demo for a detailed example.

  • AndrewHanley's avatar
    AndrewHanley
    Community Member

    Sorry I thought you said it was like an autocomplete drop down. That's how they work.

    You can still achieve what you need, when the user types E, just have it jump to an empty layer for 0.25s duration with a TIMELINE STARTS trigger.

    Use this trigger to check if they have typed the whole.phrase correctly.

    If.not, jump back to the text field layer.

    By doing this little trick you are forcing the text field to lose focus, then gain focus... and that's all you need to test against the variable.

    Keep it simple ;)

    • EdwardAgadja170's avatar
      EdwardAgadja170
      Community Member

      I'm not quite sure how this would work. Could you please demonstrate it in the file I attached? You said it'll jump to a layer for 0.25s, but how can I make that unnoticeable for the user/learner?