libarmbox: hdmi_cec better readability

Signed-off-by: Thilo Graf <dbt@novatux.de>
This commit is contained in:
TangoCash
2018-10-07 23:00:29 +02:00
committed by Thilo Graf
parent 97ca22c7fa
commit 6427cf09a8
2 changed files with 93 additions and 71 deletions

View File

@@ -31,6 +31,8 @@
#include <cstdio> #include <cstdio>
#include <cstdlib> #include <cstdlib>
#include <linux/input.h>
#include "linux-uapi-cec.h" #include "linux-uapi-cec.h"
#include "hdmi_cec.h" #include "hdmi_cec.h"
#include "hdmi_cec_types.h" #include "hdmi_cec_types.h"
@@ -309,113 +311,113 @@ long hdmi_cec::translateKey(unsigned char code)
long key = 0; long key = 0;
switch (code) switch (code)
{ {
case 0x32: case CEC_USER_CONTROL_CODE_PREVIOUS_CHANNEL:
key = 0x8b; key = KEY_MENU;
break; break;
case 0x20: case CEC_USER_CONTROL_CODE_NUMBER0:
key = 0x0b; key = KEY_0;
break; break;
case 0x21: case CEC_USER_CONTROL_CODE_NUMBER1:
key = 0x02; key = KEY_1;
break; break;
case 0x22: case CEC_USER_CONTROL_CODE_NUMBER2:
key = 0x03; key = KEY_2;
break; break;
case 0x23: case CEC_USER_CONTROL_CODE_NUMBER3:
key = 0x04; key = KEY_3;
break; break;
case 0x24: case CEC_USER_CONTROL_CODE_NUMBER4:
key = 0x05; key = KEY_4;
break; break;
case 0x25: case CEC_USER_CONTROL_CODE_NUMBER5:
key = 0x06; key = KEY_5;
break; break;
case 0x26: case CEC_USER_CONTROL_CODE_NUMBER6:
key = 0x07; key = KEY_6;
break; break;
case 0x27: case CEC_USER_CONTROL_CODE_NUMBER7:
key = 0x08; key = KEY_7;
break; break;
case 0x28: case CEC_USER_CONTROL_CODE_NUMBER8:
key = 0x09; key = KEY_8;
break; break;
case 0x29: case CEC_USER_CONTROL_CODE_NUMBER9:
key = 0x0a; key = KEY_9;
break; break;
case 0x30: case CEC_USER_CONTROL_CODE_CHANNEL_UP:
key = 0x192; key = KEY_CHANNELUP;
break; break;
case 0x31: case CEC_USER_CONTROL_CODE_CHANNEL_DOWN:
key = 0x193; key = KEY_CHANNELDOWN;
break; break;
case 0x44: case CEC_USER_CONTROL_CODE_PLAY:
key = 0xcf; key = KEY_PLAY;
break; break;
case 0x45: case CEC_USER_CONTROL_CODE_STOP:
key = 0x80; key = KEY_STOP;
break; break;
case 0x46: case CEC_USER_CONTROL_CODE_PAUSE:
key = 0x77; key = KEY_PAUSE;
break; break;
case 0x47: case CEC_USER_CONTROL_CODE_RECORD:
key = 0xa7; key = KEY_RECORD;
break; break;
case 0x48: case CEC_USER_CONTROL_CODE_REWIND:
key = 0xa8; key = KEY_REWIND;
break; break;
case 0x49: case CEC_USER_CONTROL_CODE_FAST_FORWARD:
key = 0xd0; key = KEY_FASTFORWARD;
break; break;
case 0x53: case CEC_USER_CONTROL_CODE_ELECTRONIC_PROGRAM_GUIDE:
key = 0x166; key = KEY_INFO;
break; break;
case 0x54: case CEC_USER_CONTROL_CODE_TIMER_PROGRAMMING:
key = 0x16a; key = KEY_PROGRAM;
break; break;
case 0x60: case CEC_USER_CONTROL_CODE_PLAY_FUNCTION:
key = 0xcf; key = KEY_PLAY;
break; break;
case 0x61: case CEC_USER_CONTROL_CODE_PAUSE_PLAY_FUNCTION:
key = 0xa4; key = KEY_PLAYPAUSE;
break; break;
case 0x62: case CEC_USER_CONTROL_CODE_RECORD_FUNCTION:
key = 0xa7; key = KEY_RECORD;
break; break;
case 0x64: case CEC_USER_CONTROL_CODE_STOP_FUNCTION:
key = 0x80; key = KEY_STOP;
break; break;
case 0x00: case CEC_USER_CONTROL_CODE_SELECT:
key = 0x160; key = KEY_OK;
break; break;
case 0x03: case CEC_USER_CONTROL_CODE_LEFT:
key = 0x69; key = KEY_LEFT;
break; break;
case 0x04: case CEC_USER_CONTROL_CODE_RIGHT:
key = 0x6a; key = KEY_RIGHT;
break; break;
case 0x01: case CEC_USER_CONTROL_CODE_UP:
key = 0x67; key = KEY_UP;
break; break;
case 0x02: case CEC_USER_CONTROL_CODE_DOWN:
key = 0x6c; key = KEY_DOWN;
break; break;
case 0x0d: case CEC_USER_CONTROL_CODE_EXIT:
key = 0xae; key = KEY_EXIT;
break; break;
case 0x72: case CEC_USER_CONTROL_CODE_F2_RED:
key = 0x18e; key = KEY_RED;
break; break;
case 0x71: case CEC_USER_CONTROL_CODE_F3_GREEN:
key = 0x191; key = KEY_GREEN;
break; break;
case 0x73: case CEC_USER_CONTROL_CODE_F4_YELLOW:
key = 0x18f; key = KEY_YELLOW;
break; break;
case 0x74: case CEC_USER_CONTROL_CODE_F1_BLUE:
key = 0x190; key = KEY_BLUE;
break; break;
default: default:
key = 0x8b; key = KEY_MENU;
break; break;
} }
return key; return key;

View File

@@ -22,6 +22,26 @@
#include "video_lib.h" #include "video_lib.h"
#ifndef KEY_OK
#define KEY_OK 0x160
#endif
#ifndef KEY_RED
#define KEY_RED 0x18e
#endif
#ifndef KEY_GREEN
#define KEY_GREEN 0x18f
#endif
#ifndef KEY_YELLOW
#define KEY_YELLOW 0x190
#endif
#ifndef KEY_BLUE
#define KEY_BLUE 0x191
#endif
struct cec_message struct cec_message
{ {
unsigned char address; unsigned char address;