1 """Support to emulate keyboard presses on host machine."""
3 from pykeyboard
import PyKeyboard
4 import voluptuous
as vol
7 SERVICE_MEDIA_NEXT_TRACK,
8 SERVICE_MEDIA_PLAY_PAUSE,
9 SERVICE_MEDIA_PREVIOUS_TRACK,
20 TAP_KEY_SCHEMA = vol.Schema({})
22 CONFIG_SCHEMA = cv.empty_config_schema(DOMAIN)
25 def setup(hass: HomeAssistant, config: ConfigType) -> bool:
26 """Listen for keyboard events."""
28 keyboard = PyKeyboard()
29 keyboard.special_key_assignment()
31 hass.services.register(
34 lambda service: keyboard.tap_key(keyboard.volume_up_key),
35 schema=TAP_KEY_SCHEMA,
38 hass.services.register(
41 lambda service: keyboard.tap_key(keyboard.volume_down_key),
42 schema=TAP_KEY_SCHEMA,
45 hass.services.register(
48 lambda service: keyboard.tap_key(keyboard.volume_mute_key),
49 schema=TAP_KEY_SCHEMA,
52 hass.services.register(
54 SERVICE_MEDIA_PLAY_PAUSE,
55 lambda service: keyboard.tap_key(keyboard.media_play_pause_key),
56 schema=TAP_KEY_SCHEMA,
59 hass.services.register(
61 SERVICE_MEDIA_NEXT_TRACK,
62 lambda service: keyboard.tap_key(keyboard.media_next_track_key),
63 schema=TAP_KEY_SCHEMA,
66 hass.services.register(
68 SERVICE_MEDIA_PREVIOUS_TRACK,
69 lambda service: keyboard.tap_key(keyboard.media_prev_track_key),
70 schema=TAP_KEY_SCHEMA,
bool setup(HomeAssistant hass, ConfigType config)