This release adds keyboard support for Kodi. It only supports the textbox
and search
methods, as the Input.SendText Kodi API clears the text input each time it is called. To enable keyboard support for Kodi:
- Set
keyboard_id
(formerlyadb_id
, which has been deprecated but gets internally copied tokeyboard_id
) to you Kodi media player ID from the Home Assistant Kodi integration. - Set
keyboard_mode
toKODI
.
Keyboard support for other media platforms is contingent on the ability to do so via their Home Assistant (or community) integrations and demand.
This release also soft-deprecates the adb_id
field and renames it to keyboard_id
. Like the _row
fields before this, it will continue to work and internally gets copied to the keyboard_id
field.
Try using this Kodi config to start:
type: custom:android-tv-card
keyboard_id: media_player.kodi
keyboard_mode: KODI
rows:
- - back
- home
- menu
- - info
- play_pause
- - - volume_buttons
- navigation_touchpad
- - textbox
- null
- search
touchpad_height: 200px
enable_double_click: true
double_click_keycode: back
long_click_keycode: menu
custom_keys:
up:
service: kodi.call_method
service_data:
entity_id: media_player.kodi
method: Input.Up
down:
service: kodi.call_method
service_data:
entity_id: media_player.kodi
method: Input.Down
left:
service: kodi.call_method
service_data:
entity_id: media_player.kodi
method: Input.Left
right:
service: kodi.call_method
service_data:
entity_id: media_player.kodi
method: Input.Right
center:
service: kodi.call_method
service_data:
entity_id: media_player.kodi
method: Input.Select
back:
service: kodi.call_method
service_data:
entity_id: media_player.kodi
method: Input.Back
search:
icon: mdi:kodi
key: SEARCH
volume_mute:
service: kodi.call_method
service_data:
entity_id: media_player.kodi
method: Application.SetMute
mute: toggle
volume_up:
service: kodi.call_method
service_data:
entity_id: media_player.kodi
method: Application.SetVolume
volume: increment
volume_down:
service: kodi.call_method
service_data:
entity_id: media_player.kodi
method: Application.SetVolume
volume: decrement
menu:
service: kodi.call_method
service_data:
entity_id: media_player.kodi
method: Input.ContextMenu
home:
service: kodi.call_method
service_data:
entity_id: media_player.kodi
method: Input.Home
info:
service: kodi.call_method
service_data:
entity_id: media_player.kodi
method: Input.Info
play_pause:
service: kodi.call_method
service_data:
entity_id: media_player.kodi
method: Player.PlayPause
playerid: 1
card_mod:
style: |
toucharea {
background-image: url("https://upload.wikimedia.org/wikipedia/commons/thumb/2/25/Kodi-logo-Thumbnail-light-transparent.png/600px-Kodi-logo-Thumbnail-light-transparent.png?20141126003611");
background-size: contain;
background-repeat: no-repeat;
background-position: center;
opacity: 1.0;
}
Additional changes:
- Improved
ha-icon-button
css to work better with card-mod when changing button or icon size, like so:
ha-icon-button[title="search"],
ha-icon-button[title="search"] > ha-icon {
color: rgb(9, 179, 232);
height: 100px;
width: 100px;
}
- Removed
flex-grow
from buttons - Removed
min-height
from rows and columns to allow for smaller icons