expression.Mapping As InputMapActionSequence
where expression is a variable that represents a KeyboardMapping Object
expression.Mapping As InputMapActionSequence
Public Sub MapKeyToMacro() Dim kbmapping As KeyboardMapping Dim sequence As InputMapActionSequence Dim action As InputMapAction Dim path As String Dim isKeyInMap As Boolean Dim key, altKey As Keys 'Define two key combinations in case the first key combination is mapped key = Keys_Control + Keys_B altKey = Keys_Control + Keys_D 'Se the file path and name for the new keyboard map path = Environ$("USERPROFILE") & "\Documents\Micro Focus\InfoConnect\Keyboard Maps\" & "myKeyboardMap.xkb" Set kbmapping = New KeyboardMapping Set sequence = New InputMapActionSequence 'Set up the action to run a recorded macro named Test in a module named Module1 Set action = New InputMapAction action.ActionId = InputMapActionID_RunMacroAction action.AddParameter "Module1.Test" 'This is the name of the module the macro is in and the macro name action.AddParameterAsInteger MacroEnumerationOption.MacroEnumerationOption_Document 'Look for the macro in this Session project action.AddParameterAsBoolean False 'Don't ask for any input at runtime sequence.Add action 'Add the action to the action sequence 'If the key combination is in the map, use the alternate isKeyInMap = ThisIbmTerminal.KeyboardMapper.contains(key) If isKeyInMap = True Then Debug.Print "in map" key = altKey End If 'Assign the key combination to the new action kbmapping.key = key 'Map the key assigned to the keyboard mapping to the sequence Set kbmapping.mapping = sequence 'Add the new mapping to the session keyboard map ThisIbmTerminal.KeyboardMapper.AddMapping kbmapping 'Save the new file ThisIbmTerminal.KeyboardMapper.SaveAs (path) End Sub