It's a keystroke recorder for TextEditor.
How it works....
When active (recording) as keys are pressed the Key data is converted to a MacroKey object then added to a list of MacroKeys.
When played back the MacroKeys are sent to the Texteditor via a complete copy of the View_KeyPress() event. _MacroKeyPress()
The _MacroKeyPress method uses MacroKey instead of Key and the events are processed as normal key presses.
you can save.load macros too
Attached is a test application that lets you load files (or press dbg to insert the Key constants for testing)
This is still in infancy and will need some bug testing.
But it currently has been tested working on Mint-MATE with gtk3 and qt5
To use it in your own editor project just copy the KeyMacros and gb.form.editor folders from this project to yours.
(this contains it's own gb.form.editor component so do not add the gambas one to your project properties)
add gb.eval and gv.eval.highlight though.
See FMain.class to see how i have used it.
Usefull tips.
F3 will search-next if you have pressed Ctrl+F to open the Find-tool and searched text. (Shift+F3 to search backwards)
How macros can be very useful..
With combinations of using Ctrl Shift and arrow keys you can select words, copy/paste, etc move words around.
It can be very useful if you have a whole lot of lines of code that need adjusting but not in a way that find-replace helps.
So if you have 50 lines that need adjustment you can .....
Put the cursor at the start of the first line,
Enable the recorder.
Press keys to edit the line (being mindful of the fact you are recording strokes for playback)
Then usually finish by pressing Home key then Down key to be at the start of the next line.
Then stop the recorder.
Then just hit Play 49 times (or hold finger on F7)
zoooom 49 lines of code adapted in a flash

See me make a Collection out of a list of key codes in only a few moments in the clip.