Example Menu:
freecad [T]/usr/bin/flatpak run --branch=stable --arch=x86_64 --command=kicad --file-forwarding org.kicad.KiCad /opt/sublime_text/sublime_text /home/Mike/Downloads/arduino-1.8.19/arduino [T]ls -l [LA]3 /usr/share/playonlinux/playonlinux --run 'Fireworks' firefox xfce4-terminal kcalc [RA]4 meld [NEXT] /home/user/AppImages/Stellarium.AppImage [PREV]
In this example Menu, (a simple text file) we have 15 lines each containing one command. Lines (commands) can be preceded by special codes wrapped in square brackets [ ]
[T] = Open Terminal first, then process the line...
[SUP] = Win key, [FN] = FN Key
[RA] = Right Alt & [LA] = Left Alt
[RC] = Right Ctrl & [LC] = Left Ctrl
[RS] = Right Shift & [LS] = Left Shift
The corresponding Alt, Ctrl, Shift etc., Keys are pressed, then the line is processed...
Menu Navigation:
[HOME], [NEXT], [PREV] coded to load next, previous or first menus...
Menu Icons:
The corresponding program icon would be displayed in the menu, in this example, icon 1 would be a FreeCad icon, icon 2 would be for Keycad corresponding to the line number.
Icon Positioning:
3 6 9 12 15
2 5 8 11 14
1 4 7 10 13
Michael O'Toole
Rewrite old description...
We start with a 480px by 320px background image, it consists of 16 button areas (identified by the red outlined squares). Then using an image editor, we edit a Grid480x320.bmp file and import the desired button icons (64px by 64px images works well) into each of the outlined button icons positions. Once finished, export the final image as menu1.bmp and save to SD card.
Now we need to add a text file named menu1, containing up to fifteen lines of text (macros), these will be triggered when you press the associated button on the display. Menus images are named: menu1.bmp, menu2.bmp, etc... Macros file/text files are named menu1, menu1 etc...
The project uses the Arduino IDE to compile and upload the code, once done, you only need edit the menu text file to change the macro on the SD card. You can have multiple menus each with it's own macro text file, menus can load other menus with [NEXT], [PREV], [HOME] see sample menu text file....