Search the Community
Showing results for tags 'HID Keyboard Device'.
I've used the same universal IR remote for years, and continue to use it with my 2017 Nvidia Shield TV via Flirc. The remote does not have a microphone, but it is still possible to use voice search. Mic: All Nvidia remotes and game controllers have microphones. I use a PlayStation 3 Eye USB webcam. It is available for $8 new at Amazon; I bought mine for $2 used from GameStop. Be aware of how Shield prefers Nvidia microphones. Remote: Android keycode 84, KEYCODE_SEARCH, triggers Shield's voice search. Flirc can't send this natively as far as I know, whether through its standard keyboard mapping or the hidden HID Consumer Table codes. Using flirc_util record_macro 128 0 I instead have Flirc trained to send the right Windows key, Android keycode META_RIGHT. The key itself isn't important; choose one that is redundant (the left Windows key does the same thing as the right, and this way I can trigger voice search when using a real keyboard) or unused. Two ways to convert this binding to KEYCODE_SEARCH on Shield: Button Mapper (on Play Store): Advanced | Custom keycode (ver 2) | 84 Keyboard/Button Mapper (on Play Store, but needs sideloading for Shield TV): Choose Action | Key Code | KEYCODE_SEARCH KEYCODE_SEARCH behaves differently depending on context. In voice search-aware apps (Example: YouTube), it searches within the app itself. In the Android TV launcher, and non voice search-aware apps (Example: Prime Video), it activates the general Google Assistant voice search.1 Nothing happens in some apps (Example: Reelgood). Optional: In Button Mapper I have the same key open Assistant when long pressed, to invoke Google Assistant voice search no matter where I am: Actions | Assistant, then More Options | disable Alternate assistant. I describe another method in the above-linked HID Consumer Codes discussion. 1 "Ok Google" does not work with non-Nvidia mics
Flirc has a hidden method for sending HID Consumer (page 12) codes: flirc_util record_api x 102 where x is in decimal flirc_util record_api 2 x where x is in hexadecimal The first method is only documented in @yawor's forum post; the second is not documented anywhere except sort of in one comment by @jseymour. I tried every value for x from 0 to 0x29c (668 decimal), the highest listed in the HID documentation, to to see which ones cause Nvidia Shield TV to do things. Each is listed with the Android KEYCODE the resulting Flirc binding produced in Button Mapper. (The Flirc codes do not match Android keycodes' numbers.) Flirc code | Android keycode -----------|---------------- 48 | POWER1 50 | SLEEP1 52 | SLEEP1 54 | BUTTON_1 64 | MENU 65 | DPAD_CENTER 66 | DPAD_UP 67 | DPAD_DOWN 68 | DPAD_LEFT 69 | DPAD_RIGHT 70 | ESCAPE 71 | NUMPAD_ADD 72 | NUMPAD_SUBTRACT 101 | CAMERA 111 | BRIGHTNESS_UP 112 | BRIGHTNESS_DOWN 132 | ENTER 137 | TV (Live Channels app) 138 | EXPLORER 140 | CALL 154 | DVR (DVR functionality in Live Channels app) 156 | CHANNEL_UP 157 | CHANNEL_DOWN 176 | MEDIA_PLAY 177 | BREAK 178 | MEDIA_RECORD 179 | MEDIA_FAST_FORWARD 180 | MEDIA_REWIND 181 | MEDIA_NEXT 182 | MEDIA_PREVIOUS 183 | MEDIA_STOP 184 | MEDIA_EJECT 205 | MEDIA_PLAY_PAUSE 207 | VOICE_ASSIST1 (general Google Assistant voice search) 226 | VOLUME_MUTE 233 | VOLUME_UP 234 | VOLUME_DOWN 386 | BOOKMARK 387 | MUSIC 394 | ENVELOPE 397 | CONTACTS 398 | CALENDAR 402 | CALCULATOR 406 | EXPLORER 414 | POWER1 418 | APP_SWITCH1(Recents in Button Mapper) 539 | COPY 540 | CUT 541 | PASTE 545 | VOICE_ASSIST1 547 | HOME 548 | BACK 549 | FORWARD 550 | MEDIA_STOP 554 | BOOKMARK 563 | PAGE_UP 564 | PAGE_DOWN 1 Did not produce Android keycodes in Button Mapper. I identified the corresponding keycodes based on what they caused Shield to do. Other Flirc codes may not generate Android keycodes but still do things that I did not notice. I hope @jason will implement the ability to use flirc_util record_api in long press and/or macro, and perhaps other HID tables and/or true Android keycodes. The latter would obviate the need for apps like Button Mapper to convert HID codes to Android counterparts. Until then, what is this list useful for today? Many of the Flirc codes produce bindings already available for use via the GUI or command line utilities. My remote has separate Play and Pause buttons, and I do prefer to bind the former to MEDIA_PLAY (not in GUI or command line utilities) and the latter to MEDIA_PLAY_PAUSE (which is). Otherwise, unused keybindings can be used in Button Mapper, or Keyboard/Button Mapper, to open specified apps or other duties .
I am unable to get the Flirc GUI to recognize the dongle on my HTPC. When I try to map the keys, the GUI asks me to "Please connect flirc" and displays the disconnected Flirc face. I have tried plugging Flirc into both USB 3 and USB 2 ports, but neither change the outcome. Flirc is recognized in the Device Manager, but a second (new) device under "Keyboards" does not appear when the dongle is plugged in (see first attached image); the HID Keyboard Device listed is that of my actual USB keyboard/mouse - not the Flirc. What's weird is that Flirc is recognized as an HID Keyboard Device in the "Devices and Printers" screen (see second attached image). I have also tried the zadig method (), which did not work for me, and finally tried running the application as Administrator, as someone else had suggested, but the GUI still asks me to connect the Flirc. Here are the specs for my HTPC: - Windows 7 Pro x64 - ASRock FM288M Extreme+ (Motherboard) - Flirc v1.2.7 I was able to plug in Flirc to another computer (Windows 7 Home Premium x64 and different motherboard) and it connected without any problems. I mapped the basic buttons on this second computer, plugged it into Computer 1 (my HTPC) and the device became unresponsive. Any help would be greatly appreciated!