hassio_lovelace_multiremote icon indicating copy to clipboard operation
hassio_lovelace_multiremote copied to clipboard

Keyboard for NVidia Shield

Open alanthewild opened this issue 4 years ago • 1 comments

I don't use this but use something similar that I built which suits my styling better. Perhaps you could add this keyboard to the NVIidia Shield section?

Reason for this post is to share my keyboard config for NVidia shield. Using ADB commands. Makes searching for things in Netflix easier if voice control doesn't work from where you are....

image

I use the awesome Button-card from RomRider (including templates and variables) and Browser Mod from Thomas Loven to get Popup cards.

Templates:

button_card_templates:
  keyboard_button_name_only:
    hold_action: none
    show_icon: false
    show_picture: false
    show_label: false
    tap_action:
      action: call-service
      service: androidtv.adb_command
      service_data:
        command: '[[[ return variables.command ]]]'
        entity_id: media_player.smartvu_2
    styles:
      card:
        - border-radius: 10px
        - height: 50px
        - width: 50px
        - border: solid 1px
        - border-color: gray
      name:
        - align-self: end
        - padding: 9px 10px
        - font-size: 16px
        - color: white
    variables:
      command: command
  keyboard_button_icon_only:
    hold_action: none
    show_icon: true
    show_picture: false
    show_label: false
    show_name: false
    tap_action:
      action: call-service
      service: androidtv.adb_command
      service_data:
        command: '[[[ return variables.command ]]]'
        entity_id: media_player.smartvu_2
    styles:
      card:
        - border-radius: 10px
        - height: 50px
        - width: 50px
        - border: solid 1px
        - border-color: gray
      icon:
        - padding: 9px 10px
        - color: white
    variables:
      command: command
  blank_keyboard:
    color_type: blank-card
    styles:
      card:
        - width: 25px

Popup config:

  media_player.smartvu_2:
    title: SHIELD Keyboard
    large: true
    card:
      type: vertical-stack
      cards:
        - type: horizontal-stack
          cards:
            - template: blank_keyboard
              type: 'custom:button-card'
            - Card: null
              entity: media_player.smartvu_2
              name: 1
              template: keyboard_button_name_only
              variables:
                command: input keyevent 7
              type: 'custom:button-card'
            - Card: null
              entity: media_player.smartvu_2
              name: 2
              template: keyboard_button_name_only
              variables:
                command: input keyevent 8
              type: 'custom:button-card'
            - Card: null
              entity: media_player.smartvu_2
              name: 3
              template: keyboard_button_name_only
              variables:
                command: input keyevent 9
              type: 'custom:button-card'
            - Card: null
              entity: media_player.smartvu_2
              name: 4
              template: keyboard_button_name_only
              variables:
                command: input keyevent 10
              type: 'custom:button-card'
            - Card: null
              entity: media_player.smartvu_2
              name: 5
              template: keyboard_button_name_only
              variables:
                command: input keyevent 11
              type: 'custom:button-card'
            - Card: null
              entity: media_player.smartvu_2
              name: 6
              template: keyboard_button_name_only
              variables:
                command: input keyevent 12
              type: 'custom:button-card'
            - Card: null
              entity: media_player.smartvu_2
              name: 7
              template: keyboard_button_name_only
              variables:
                command: input keyevent 13
              type: 'custom:button-card'
            - Card: null
              entity: media_player.smartvu_2
              name: 8
              template: keyboard_button_name_only
              variables:
                command: input keyevent 14
              type: 'custom:button-card'
            - Card: null
              entity: media_player.smartvu_2
              name: 9
              template: keyboard_button_name_only
              variables:
                command: input keyevent 15
              type: 'custom:button-card'
            - Card: null
              entity: media_player.smartvu_2
              name: '0'
              template: keyboard_button_name_only
              variables:
                command: input keyevent 16
              type: 'custom:button-card'
            - Card: null
              entity: media_player.smartvu_2
              name: DEL
              icon: 'mdi:backspace'
              template: keyboard_button_icon_only
              variables:
                command: input keyevent 67
              type: 'custom:button-card'
        - type: horizontal-stack
          cards:
            - template: blank_keyboard
              type: 'custom:button-card'
            - template: blank_keyboard
              type: 'custom:button-card'
            - Card: null
              entity: media_player.smartvu_2
              name: q
              template: keyboard_button_name_only
              variables:
                command: input keyevent 45
              type: 'custom:button-card'
            - Card: null
              entity: media_player.smartvu_2
              name: w
              template: keyboard_button_name_only
              variables:
                command: input keyevent 51
              type: 'custom:button-card'
            - Card: null
              entity: media_player.smartvu_2
              name: e
              template: keyboard_button_name_only
              variables:
                command: input keyevent 33
              type: 'custom:button-card'
            - Card: null
              entity: media_player.smartvu_2
              name: r
              template: keyboard_button_name_only
              variables:
                command: input keyevent 46
              type: 'custom:button-card'
            - Card: null
              entity: media_player.smartvu_2
              name: t
              template: keyboard_button_name_only
              variables:
                command: input keyevent 48
              type: 'custom:button-card'
            - Card: null
              entity: media_player.smartvu_2
              name: 'y'
              template: keyboard_button_name_only
              variables:
                command: input keyevent 53
              type: 'custom:button-card'
            - Card: null
              entity: media_player.smartvu_2
              name: u
              template: keyboard_button_name_only
              variables:
                command: input keyevent 49
              type: 'custom:button-card'
            - Card: null
              entity: media_player.smartvu_2
              name: i
              template: keyboard_button_name_only
              variables:
                command: input keyevent 37
              type: 'custom:button-card'
            - Card: null
              entity: media_player.smartvu_2
              name: o
              template: keyboard_button_name_only
              variables:
                command: input keyevent 43
              type: 'custom:button-card'
            - Card: null
              entity: media_player.smartvu_2
              name: p
              template: keyboard_button_name_only
              variables:
                command: input keyevent 44
              type: 'custom:button-card'
        - type: horizontal-stack
          cards:
            - template: blank_keyboard
              type: 'custom:button-card'
            - template: blank_keyboard
              type: 'custom:button-card'
            - template: blank_keyboard
              type: 'custom:button-card'
            - Card: null
              entity: media_player.smartvu_2
              name: a
              template: keyboard_button_name_only
              variables:
                command: input keyevent 29
              type: 'custom:button-card'
            - Card: null
              entity: media_player.smartvu_2
              name: s
              template: keyboard_button_name_only
              variables:
                command: input keyevent 47
              type: 'custom:button-card'
            - Card: null
              entity: media_player.smartvu_2
              name: d
              template: keyboard_button_name_only
              variables:
                command: input keyevent 32
              type: 'custom:button-card'
            - Card: null
              entity: media_player.smartvu_2
              name: f
              template: keyboard_button_name_only
              variables:
                command: input keyevent 34
              type: 'custom:button-card'
            - Card: null
              entity: media_player.smartvu_2
              name: g
              template: keyboard_button_name_only
              variables:
                command: input keyevent 35
              type: 'custom:button-card'
            - Card: null
              entity: media_player.smartvu_2
              name: h
              template: keyboard_button_name_only
              variables:
                command: input keyevent 36
              type: 'custom:button-card'
            - Card: null
              entity: media_player.smartvu_2
              name: j
              template: keyboard_button_name_only
              variables:
                command: input keyevent 38
              type: 'custom:button-card'
            - Card: null
              entity: media_player.smartvu_2
              name: k
              template: keyboard_button_name_only
              variables:
                command: input keyevent 39
              type: 'custom:button-card'
            - Card: null
              entity: media_player.smartvu_2
              name: l
              template: keyboard_button_name_only
              variables:
                command: input keyevent 40
              type: 'custom:button-card'
        - type: horizontal-stack
          cards:
            - template: blank_keyboard
              type: 'custom:button-card'
            - template: blank_keyboard
              type: 'custom:button-card'
            - template: blank_keyboard
              type: 'custom:button-card'
            - template: blank_keyboard
              type: 'custom:button-card'
            - Card: null
              entity: media_player.smartvu_2
              name: z
              template: keyboard_button_name_only
              variables:
                command: input keyevent 54
              type: 'custom:button-card'
            - Card: null
              entity: media_player.smartvu_2
              name: x
              template: keyboard_button_name_only
              variables:
                command: input keyevent 52
              type: 'custom:button-card'
            - Card: null
              entity: media_player.smartvu_2
              name: c
              template: keyboard_button_name_only
              variables:
                command: input keyevent 31
              type: 'custom:button-card'
            - Card: null
              entity: media_player.smartvu_2
              name: V
              template: keyboard_button_name_only
              variables:
                command: input keyevent 50
              type: 'custom:button-card'
            - Card: null
              entity: media_player.smartvu_2
              name: b
              template: keyboard_button_name_only
              variables:
                command: input keyevent 30
              type: 'custom:button-card'
            - Card: null
              entity: media_player.smartvu_2
              name: 'n'
              template: keyboard_button_name_only
              variables:
                command: input keyevent 42
              type: 'custom:button-card'
            - Card: null
              entity: media_player.smartvu_2
              name: m
              template: keyboard_button_name_only
              variables:
                command: input keyevent 41
              type: 'custom:button-card'
        - type: horizontal-stack
          cards:
            - template: blank_keyboard
              type: 'custom:button-card'
            - Card: null
              entity: media_player.smartvu_2
              name: Back
              icon: 'mdi:undo-variant'
              template: keyboard_button_icon_only
              variables:
                command: BACK
              type: 'custom:button-card'
              styles:
                card:
                  - border-color: green
                  - border: solid 2px
            - template: blank_keyboard
              type: 'custom:button-card'
            - template: blank_keyboard
              type: 'custom:button-card'
            - template: blank_keyboard
              type: 'custom:button-card'
            - template: blank_keyboard
              type: 'custom:button-card'
            - Card: null
              entity: media_player.smartvu_2
              name: space
              template: keyboard_button_name_only
              type: 'custom:button-card'
              hold_action: none
              tap_action:
                action: call-service
                service: androidtv.adb_command
                service_data:
                  command: input keyevent 62
                  entity_id: media_player.smartvu_2
              styles:
                card:
                  - border-radius: 10px
                  - height: 50px
                  - width: 300px
                name:
                  - align-self: end
                  - padding: 5px 0px
                  - font-size: 14px
                  - color: white
            - Card: null
              entity: media_player.smartvu_2
              name: .
              template: keyboard_button_name_only
              variables:
                command: input keyevent 158
              type: 'custom:button-card'
            - Card: null
              entity: media_player.smartvu_2
              name: '@'
              template: keyboard_button_name_only
              variables:
                command: input keyevent 77
              type: 'custom:button-card'

alanthewild avatar Jun 06 '21 05:06 alanthewild

Hello mate! This is exactly what I'm trying to set up right now.

Is this working for you? Looks like the template has changed and is giving some issue.

tanushshukla avatar Nov 13 '22 16:11 tanushshukla