I found some keys for TV or A/V remote controller's key which are not defined in D3E.
GTK Qt Android
My suggestions are:
'Channel1' as Media
'Channel2' as Media
'Channel3' as Media
'Channel4' as Media
'Channel5' as Media
'Channel6' as Media
'Channel7' as Media
'Channel8' as Media
'Channel9' as Media
'Channel10' as Media
'Channel11' as Media
'Channel12' as Media
'SwitchAngle' as Media
'MediaRepeatTrack' as Media (I'm not sure the actual purpose of this key)
'MediaRepeat' as Media
'FrameBack' as Media
'FrameForward' as Media
'TimeSearch' as Media (I'm not sure the actual purpose of this key)
I have no idea for view key since I'm not sure the actual purpose of it.
'MediaTopMenu' as Media
'ContrastAdjust' as Media
'AudioBassBoost' as Media
'AudioTrebleUp' as Media
'AudioTrebleDown' as Media
'CD' as Media
'Video' as Media
'TV' as Media
'TrayClose' as Device
'TVPower' as Media or Device
'TVSelectInput' as Media or Device
'STBPower' as Media or Device
'STBSelectInput' as Media or Device
'AVReceiverPower' as Media or Device
'AVReceiverSelectInput' as Media or Device
'Toggle3DMode' as Media
On Windows, we can also dispatch key events for:
APPCOMMAND_BASS_BOOST (same as Qt::Key_BassBoost) 'AudioBassBoost'
APPCOMMAND_TREBLE_DOWN (same as Qt::Key_TrebleDown) 'AudioTrebleDown'
APPCOMMAND_TREBLE_UP (same as Qt::Key_TrebleUp) 'AudioTrebleUp'
Additionally, we need to discuss the rules how to define key values of vendor or country specific buttons on remote control.
For example, Japanese TV remote controller typically has "地デジ" ( terrestrial digital broadcasting), "BS" (broadcast satellite broadcasting) and "CS" (communication satellite broadcasting) buttons which are to select type of broadcasting. However, some vendors may have "地デジ", "BS/CS" buttons. The "BS/CS" button toggles BS and CS broadcasting.
Another example, Japanese high-end TVs may have "Time Shift" related buttons. "Time Shift" feature is that TV records whole TV programs into external hard drive(s) and erase old records when the drive(s) doesn't have enough space to record new programs.
I mean that like "Launch*", some generic rules are necessary for specific feature buttons.
Android defined some new keycode values:
KEYCODE_12 // no _10, but 0 - 9 were defined as numeric keys in PC keyboard :-(
KEYCODE_PAIRING // for BT, remote controller, gamepad