From 2e029458332c34b440a5c0118baa98f91f74f051 Mon Sep 17 00:00:00 2001 From: Ian Foster Date: Thu, 30 Sep 2021 00:17:57 -0700 Subject: [PATCH] Add keyboard event type to keyboard_remote (#56668) * added keyboard event type to keyboard_remote * fix emulated hold event * Update homeassistant/components/keyboard_remote/__init__.py Co-authored-by: Erik Montnemery * removed event value * set key_hold to use string constant * don't use dict.get() for keyboard event type Co-authored-by: Erik Montnemery --- CODEOWNERS | 2 +- homeassistant/components/keyboard_remote/__init__.py | 10 +++++++++- homeassistant/components/keyboard_remote/manifest.json | 2 +- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/CODEOWNERS b/CODEOWNERS index 01bb9abf77f..84b359182dd 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -268,7 +268,7 @@ homeassistant/components/kaiterra/* @Michsior14 homeassistant/components/keba/* @dannerph homeassistant/components/keenetic_ndms2/* @foxel homeassistant/components/kef/* @basnijholt -homeassistant/components/keyboard_remote/* @bendavid +homeassistant/components/keyboard_remote/* @bendavid @lanrat homeassistant/components/kmtronic/* @dgomes homeassistant/components/knx/* @Julius2342 @farmio @marvin-w homeassistant/components/kodi/* @OnFreund @cgtobi diff --git a/homeassistant/components/keyboard_remote/__init__.py b/homeassistant/components/keyboard_remote/__init__.py index 1d16dd12cc2..1c62dcb7575 100644 --- a/homeassistant/components/keyboard_remote/__init__.py +++ b/homeassistant/components/keyboard_remote/__init__.py @@ -18,11 +18,13 @@ DEVICE_DESCRIPTOR = "device_descriptor" DEVICE_ID_GROUP = "Device description" DEVICE_NAME = "device_name" DOMAIN = "keyboard_remote" +VALUE = "value" ICON = "mdi:remote" KEY_CODE = "key_code" KEY_VALUE = {"key_up": 0, "key_down": 1, "key_hold": 2} +KEY_VALUE_NAME = {value: key for key, value in KEY_VALUE.items()} KEYBOARD_REMOTE_COMMAND_RECEIVED = "keyboard_remote_command_received" KEYBOARD_REMOTE_CONNECTED = "keyboard_remote_connected" KEYBOARD_REMOTE_DISCONNECTED = "keyboard_remote_disconnected" @@ -236,7 +238,12 @@ class KeyboardRemote: while True: self.hass.bus.async_fire( KEYBOARD_REMOTE_COMMAND_RECEIVED, - {KEY_CODE: code, DEVICE_DESCRIPTOR: path, DEVICE_NAME: name}, + { + KEY_CODE: code, + TYPE: "key_hold", + DEVICE_DESCRIPTOR: path, + DEVICE_NAME: name, + }, ) await asyncio.sleep(repeat) @@ -294,6 +301,7 @@ class KeyboardRemote: KEYBOARD_REMOTE_COMMAND_RECEIVED, { KEY_CODE: event.code, + TYPE: KEY_VALUE_NAME[event.value], DEVICE_DESCRIPTOR: dev.path, DEVICE_NAME: dev.name, }, diff --git a/homeassistant/components/keyboard_remote/manifest.json b/homeassistant/components/keyboard_remote/manifest.json index b63873bd165..1fc34f47000 100644 --- a/homeassistant/components/keyboard_remote/manifest.json +++ b/homeassistant/components/keyboard_remote/manifest.json @@ -3,6 +3,6 @@ "name": "Keyboard Remote", "documentation": "https://www.home-assistant.io/integrations/keyboard_remote", "requirements": ["evdev==1.4.0", "aionotify==0.2.0"], - "codeowners": ["@bendavid"], + "codeowners": ["@bendavid", "@lanrat"], "iot_class": "local_push" }