Skip to content

v1.0.0 - Settings in config, webOS 10 fixes, auto-restart

Choose a tag to compare

@andrewfraley andrewfraley released this 28 Sep 02:49
9e4161f

Magic Mapper 1.0.0

⚠️ Breaking changes

Settings are no longer edited in magic_mapper.py. They now live in a new magic_mapper_settings section of magic_mapper_config.json. If you changed any of these at the top of the old script, move them to the config, otherwise they go back to the defaults:

Old setting in magic_mapper.py New setting in magic_mapper_config.json
BLOCK_MOUSE = True "block_mouse": true
EXCLUSIVE_MODE = False "exclusive_mode": false
DEVICE_NAME = '...' "input_device_name": "..."
OUTPUT_DEVICE_NAME = '...' "output_device_name": "..." (usually no longer needed)

Your button mappings don't need any changes. See Upgrading in the README for the upgrade commands.

New in 1.0.0

  • Settings in the config file: you no longer need to edit the script.
  • Automatic output device: unmapped buttons are resent to LGE M-RCU - Builtin [2] if it exists, otherwise to another LGE M-RCU - Builtin device. This fixes exclusive mode on TVs that don't have Builtin [2].
  • webOS 10 Back fix: Back no longer exits the whole app instead of closing a menu while Magic Mapper is running. Button presses are now resent through LGE M-RCU - Builtin [1] on webOS 10 and later. Thanks to @afonsojramos for tracking this down in #37.
  • More reliable startup:
    • Invalid button mappings are reported at startup and skipped.
    • An action that fails is logged, and Magic Mapper keeps running.
    • If a device isn't found, the log lists the available device names.
  • Auto-restart: start_magic_mapper restarts Magic Mapper if it exits, and has new start, stop and restart commands.
  • Pinned install URLs: the install commands download from the release tag instead of main.
  • The version is printed at startup.

Changes since 0.5.1

  • webOS 10 support: fixed luna-send doing nothing on webOS 10, in both magic_mapper.py and list_apps.py.
  • Input devices are found by name instead of a hardcoded /dev/input/eventN.
  • Multiple actions per button, optionally limited to the app in the foreground (appId, with ! as the default).
  • Mouse wheel support.
  • New functions:
    • send_tcp_command
    • toggle_piccap
    • launch_app now takes params
  • More buttons: buttons from the LG C5 remote, ok, rakuten, sling.
  • Long press notice: a notification is shown when a long press is blocked by Magic Mapper.
  • Fixes:
    • str_to_bool and curl
    • a race at boot with the input devices
    • curl running without a URL
    • a crash when the webOS version can't be read