@AgilesChroms - I’m out of town for business, so bear with me since I’m unable to fully test these suggestions.
To use custom keyboard keys AND the remote, you can also modify the evdevKeymap and handleKeys in the MMM-KeyBindings Config. The module tries to “map” the remote’s key names to more standard keyboard key names and this can be tweaked. For example in the MMM-KeyBindings Config:
...
evdevKeymap: {
Home: "KEY_HOMEPAGE",
Enter: "KEY_KPENTER",
j: "KEY_LEFT", // Change default "ArrowLeft" to "j"
k: "KEY_RIGHT", // Change default "ArrowRight" to "k"
ArrowUp: "KEY_UP",
ArrowDown: "KEY_DOWN",
Menu: "KEY_MENU",
MediaPlayPause: "KEY_PLAYPAUSE",
MediaNextTrack: "KEY_FASTFORWARD",
MediaPreviousTrack: "KEY_REWIND",
Return: "KEY_BACK"
},
handleKeys: ['j','k'] // Add the new keys to the keyboard bindings
In MMM-Carousel, you can now use:
keyBindings: { NextSlide: "k", PrevSlide: "j", Slide0: "Return", ... }
Side note:
Something you may also find useful: the evdevKeymap tries to standardize keys, but if it receives a key that isn’t in the map, it will still pass it along. I use this to also control my Mirror via my home automation system using GET requests.
For example: if you add a keybinding to MMM-Carousel like Slide1: "SomeSlideTitle", you can jump to that slide with a GET request to the following URL:
http://mirror_ip:8080/MMM-KeyBindings/notify?notification=KEYPRESS&payload=%7B%22KeyState%22%3A%20%22KEY_PRESSED%22%2C%20%22Duration%22%3A%200.0%2C%20%22KeyName%22%3A%20%22SomeSlideTitle%22%7D
// payload parameter is a url-encoded JSON string:
{"KeyState": "KEY_PRESSED", "Duration": 0.0, "KeyName": "SomeSlideTitle"}