Skip to content

3.9.4 - Better Keyboards

Compare
Choose a tag to compare
@Nerwyn Nerwyn released this 08 Aug 03:46
· 494 commits to main since this release

Changes in 3.9.4

  • 2024.8 Updates
    • Change action call-service to perform-action and field service to perform_action.
      • Old configs with action call-service and service field will continue to work.
      • Deprecated config update logic will update existing configs that are edited to use new fields.
  • Change slider height to match buttons (48px).

Better Keyboards #55

Minor Breaking Change: Use --icon-color to set icon color.

Better Keyboards

A Whole New Interface

All three keyboard modes now have a unified user interface - a modal dialog. Activating any of these actions will create a text dialog which follows your theme styles. While this dialog is functionally similar to the prompt previously used for textbox and search (but way prettier), it allows you to better view what you've typed in seamless keyboard mode as long as the dialog remains open.

Do note that there is no way to retrieve the on platform text for most integrations, and that closing the dialog will lose your text history (you can still backspace away anything on your Android TV or other platform device safely). Also, trying to edit any text that is in the middle of what you have typed or erasing more than one character at a time can result in undesirable behavior, as we can only remove one character for most platforms. Because of this, the seamless keyboard dialog will attempt to force the cursor to the end your text if you try to move it backwards.

Call From Anywhere

Keyboards are now actions! You can now use keyboard, textbox or search as an action for any button or touchpad (or slider if you really want to) action. You can also configure and include keyboards for multiple different platforms on one card using the platform (formerly keyboard_mode), keyboard_id, remote_id, and media_player_id fields on a custom action. These fields can still be set globally, but will be overridden if set explicitly for a custom action.

platform: ANDROID TV # formerly keyboard_mode, still defaults to ANDROID TV
keyboard_id: remote.google_tv_adb
custom_actions:
  kodi_keyboard:
    icon: mdi:kodi
    tap_action:
      action: keyboard # you can include keyboard, textbox, and search as actions anywhere now
      platform: KODI # platform and keyboard ID can be set here and will override the global value
      keyboard_id: remote.kodi
      keyboard_prompt: This is the Kodi keyboard # Replace the placeholder text of the dialog text area
rows:
  - - keyboard
    - search # uses the global platform and keyboard_id
    - kodi_keyboard

Improved Performance (thanks to the Home Assistant developers)

Thanks to a recent feature implemented by the Home Assistant developers, the ADB integration now also exposes a remote entity. Making ADB calls through this entity is faster than doing so through the old media player entity, including those used for sending characters. This card now supports this new remote entity, and by switching your remote keyboard_id to it you'll experience a noticeable improvement to Android and Fire TV keyboard performance!

Seamless Kodi Keyboard Support

As a side effect of the new keyboard dialog, seamless mode now works for Kodi keyboards. It even performs better than the other platforms as you can edit the middle of your input and safely move the cursor around.

Button and Ripple Upgrades

Buttons have been updated to no longer use the Home Assistant icon button element. This allows us to upgrade the ripple effects for both buttons and the touchpad. In addition to this newer ripple effect being less prone to being stuck, I've added some more render logic on top of it so that ripples should now no longer get stuck in an on state (I hope)!

Other Changes

  • Added sources and icons for Filmplus, NPO Start, KIJK #104, and Jellyfin #110.
  • Build pipeline improvements to greatly reduce file size and match the ES versions used by Home Assistant frontend.
    • As a side of effect of this, this card may have stopped working with older devices.
  • Reduced button swipe scroll sensitivity.

What's Changed

New Contributors

Patch Version Changes

  • Fix support for older devices that do not support negative lookbehind regex.
  • Disable swipe scroll on vertical sliders.
  • Fix slider icon color.
  • Fix Kodi search by opening search page with keyboard dialog.
  • Add default sources dazn, discoveryplus, nrktv, tv2play and viaplay (all untested).
  • Add toggle action.
  • Reorder actions to match default cards.
  • Improve tooltip transform to use slider container height/width to determine how offset from slider it should be.
  • Remove z-indexes from all element styles to improve interactions with other cards.
  • 2024.8 Updates
    • Change action call-service to perform-action and field service to perform_action.
      • Old configs with action call-service and service field will continue to work.
      • Deprecated config update logic will update existing configs that are edited to use new fields.
  • Change slider height to match buttons (48px).

Full Changelog: 3.8.2...3.9.4