Present scripts or shell commands in a custom layout (ie. TV style remote)

Hey guys,
I am trying to extend the Kodi remote control, in order to incorporate the following commands:

Up Down Left Right Select Back Info Menu Home

I managed to write the commands and they work when i call them as services.
I have created scripts like this to run the commands:

kodi_input_down:
  sequence: 
    - service: shell_command.kodi_input_down

I would like a nice way to present them inside a panel to resemble a cross-style remote.
Something like this, on a physical remote.

Any ideas on where i should look in the documentation?


Here are the commands for reference:
(inside the shell_command: part of my configuration.yaml)

  kodi_input_right: 'curl -u "kodiusername:kodipwd" --header "Content-Type: application/json" --data "{\"jsonrpc\":\"2.0\",\"method\":\"Input.Right\"}" "http://kodiIP:kodiPORT/jsonrpc"'
  kodi_input_left: 'curl -u "kodiusername:kodipwd" --header "Content-Type: application/json" --data "{\"jsonrpc\":\"2.0\",\"method\":\"Input.Left\"}" "http://kodiIP:kodiPORT/jsonrpc"'
  kodi_input_up: 'curl -u "kodiusername:kodipwd" --header "Content-Type: application/json" --data "{\"jsonrpc\":\"2.0\",\"method\":\"Input.Up\"}" "http://kodiIP:kodiPORT/jsonrpc"'
  kodi_input_down: 'curl -u "kodiusername:kodipwd" --header "Content-Type: application/json" --data "{\"jsonrpc\":\"2.0\",\"method\":\"Input.Down\"}" "http://kodiIP:kodiPORT/jsonrpc"'
  
  kodi_input_home: 'curl -u "kodiusername:kodipwd" --header "Content-Type: application/json" --data "{\"jsonrpc\":\"2.0\",\"method\":\"Input.Home\"}" "http://kodiIP:kodiPORT/jsonrpc"'
  kodi_input_back: 'curl -u "kodiusername:kodipwd" --header "Content-Type: application/json" --data "{\"jsonrpc\":\"2.0\",\"method\":\"Input.Back\"}" "http://kodiIP:kodiPORT/jsonrpc"'
  kodi_input_info: 'curl -u "kodiusername:kodipwd" --header "Content-Type: application/json" --data "{\"jsonrpc\":\"2.0\",\"method\":\"Input.Info\"}" "http://kodiIP:kodiPORT/jsonrpc"'
  kodi_input_menu: 'curl -u "kodiusername:kodipwd" --header "Content-Type: application/json" --data "{\"jsonrpc\":\"2.0\",\"method\":\"Input.ContextMenu\"}" "http://kodiIP:kodiPORT/jsonrpc"'
  kodi_input_select: 'curl -u "kodiusername:kodipwd" --header "Content-Type: application/json" --data "{\"jsonrpc\":\"2.0\",\"method\":\"Input.Select\"}" "http://kodiIP:kodiPORT/jsonrpc"'
1 Like

I have the same need and I see how you can do this, floorplan…