void send_kbcode_for_ir(unsigned long ircode, MK_OR_BK mk_or_bk) { if (bit_is_clear(PWR_SENSE_PIN, PWR_SENSE_BIT)) { if (ircode == MCEH_POWER_ON_1 || ircode == MCEH_POWER_ON_2 || ircode == MCEH_POWER_TOGGLE_1 || ircode == MCEH_POWER_TOGGLE_2) { _press_pwr_btn(); } else { return; } } switch (ircode) { // power buttons case MCEH_POWER_OFF_1: case MCEH_POWER_OFF_2: case MCEH_POWER_TOGGLE_1: case MCEH_POWER_TOGGLE_2: _press_pwr_btn(); return; case MCEH_MUSIC_1: case MCEH_MUSIC_2: // Kodi: Audio Delay Control = A SEND_CODE(PS2DC_A, mk_or_bk); case MCEH_GUIDE_1: case MCEH_GUIDE_2: // Kodi: Context Menu = C || ContextMenuButton SEND_CODE(PS2DC_C, mk_or_bk); case MCEH_INFO_1: case MCEH_INFO_2: //SEND_EXT_CODE(PS2DC_APPS_EXT, mk_or_bk); // Kodi: Info = I SEND_CODE(PS2DC_I, mk_or_bk); case MCEH_TV_1: case MCEH_TV_2: // Kodi: NextSubtitle/Lock preset = L SEND_CODE(PS2DC_L, mk_or_bk); case MCEH_LIVE_TV_1: case MCEH_LIVE_TV_2: // Kodi: OSD = M SEND_CODE(PS2DC_M, mk_or_bk); case MCEH_YELLOW_1: case MCEH_YELLOW_2: // Kodi: Currently playing = N SEND_CODE(PS2DC_N, mk_or_bk); case MCEH_RED_1: case MCEH_RED_2: // Kodi: Codec Info = O SEND_CODE(PS2DC_O, mk_or_bk); case MCEH_PLAY_1: case MCEH_PLAY_2: // Kodi: Play = P SEND_CODE(PS2DC_P, mk_or_bk); case MCEH_MOVIES_1: case MCEH_MOVIES_2: // Kodi: Queue = Q SEND_CODE(PS2DC_Q, mk_or_bk); case MCEH_SUBTITLE_1: case MCEH_SUBTITLE_2: // Kodi: Subtitle = T SEND_CODE(PS2DC_T, mk_or_bk); case MCEH_MUTE_1: case MCEH_MUTE_2: // Kodi: Subtitle Postion Control = Ctrl + T SEND_2KEY_CODE(PS2DC_L_CTRL, 0, PS2DC_T, 0, mk_or_bk); case MCEH_TELETEXT_1: case MCEH_TELETEXT_2: // Kodi: Teletext/Music Visualisation Settings = V SEND_CODE(PS2DC_V, mk_or_bk); case MCEH_ASPECT_1: case MCEH_ASPECT_2: // Kodi: Zoom/Aspect Ratio = Z (Y on German Keyb) SEND_CODE(PS2DC_Y, mk_or_bk); case MCEH_DIR_LEFT_1: case MCEH_DIR_LEFT_2: SEND_EXT_CODE(PS2DC_L_ARROW_EXT, mk_or_bk); case MCEH_DIR_RIGHT_1: case MCEH_DIR_RIGHT_2: SEND_EXT_CODE(PS2DC_R_ARROW_EXT, mk_or_bk); case MCEH_DIR_UP_1: case MCEH_DIR_UP_2: SEND_EXT_CODE(PS2DC_U_ARROW_EXT, mk_or_bk); case MCEH_DIR_DOWN_1: case MCEH_DIR_DOWN_2: SEND_EXT_CODE(PS2DC_D_ARROW_EXT, mk_or_bk); case MCEH_REWIND_1: case MCEH_REWIND_2: // Kodi: Variable Seek backwards = Ctrl + Left SEND_2KEY_CODE(PS2DC_L_CTRL, 0, PS2DC_L_ARROW_EXT, 1, mk_or_bk); case MCEH_FAST_FORWARD_1: case MCEH_FAST_FORWARD_2: // Kodi: Variable Seek forward = Ctrl + Right SEND_2KEY_CODE(PS2DC_L_CTRL, 0, PS2DC_R_ARROW_EXT, 1, mk_or_bk); case MCEH_PICTURES_1: case MCEH_PICTURES_2: // Kodi: Move Subtitles Up = Ctrl + Up SEND_2KEY_CODE(PS2DC_L_CTRL, 0, PS2DC_U_ARROW_EXT, 1, mk_or_bk); case MCEH_RADIO_1: case MCEH_RADIO_2: // Kodi: Move Subtitles Down = Ctrl + Down SEND_2KEY_CODE(PS2DC_L_CTRL, 0, PS2DC_D_ARROW_EXT, 1, mk_or_bk); case MCEH_CHANNEL_UP_1: case MCEH_CHANNEL_UP_2: SEND_EXT_CODE(PS2DC_PG_UP_EXT, mk_or_bk); case MCEH_CHANNEL_DOWN_1: case MCEH_CHANNEL_DOWN_2: SEND_EXT_CODE(PS2DC_PG_DN_EXT, mk_or_bk); case MCEH_OK_1: case MCEH_OK_2: SEND_CODE(PS2DC_ENTER, mk_or_bk); case MCEH_BACK_1: case MCEH_BACK_2: // Kodi: Back = Backspace SEND_CODE(PS2DC_BKSP, mk_or_bk); case MCEH_BLUE_1: case MCEH_BLUE_2: // Kodi: Exit from current App = ESC SEND_CODE(PS2DC_ESC, mk_or_bk); case MCEH_RECORDED_TV_1: case MCEH_RECORDED_TV_2: // Kodi: 7 seconds step backwards = ' (quote) //SEND_CODE(PS2DC_SINGLE_QUOTE, mk_or_bk); SEND_2KEY_CODE(PS2DC_L_SHIFT, 0, PS2DC_BACKSLASH, 0, mk_or_bk); case MCEH_GREEN_1: case MCEH_GREEN_2: // Kodi: Full Screen = TAB SEND_CODE(PS2DC_TAB, mk_or_bk); case MCEH_VOL_UP_1: case MCEH_VOL_UP_2: // Kodi: Step forward 10 min = [ //SEND_CODE(PS2DC_SQ_BRACKET_OPEN, mk_or_bk); SEND_2KEY_CODE(PS2DC_R_ALT_EXT, 1, PS2DC_8, 0, mk_or_bk); case MCEH_VOL_DOWN_1: case MCEH_VOL_DOWN_2: // Kodi: Step forward 10 min = ] //SEND_CODE(PS2DC_SQ_BRACKET_CLOSE, mk_or_bk); SEND_2KEY_CODE(PS2DC_R_ALT_EXT, 1, PS2DC_9, 0, mk_or_bk); case MCEH_RECORD_1: case MCEH_RECORD_2: // Kodi: Jump to the top of the menu = Home SEND_EXT_CODE(PS2DC_HOME_EXT, mk_or_bk); // Play control keys case MCEH_PAUSE_1: case MCEH_PAUSE_2: // Kodi: Play/Pause = Space - we rather use media key here SEND_EXT_CODE(PS2DC_MM_PLAY_PAUSE_EXT, mk_or_bk); case MCEH_STOP_1: case MCEH_STOP_2: SEND_EXT_CODE(PS2DC_MM_STOP_EXT, mk_or_bk); case MCEH_SKIP_1: case MCEH_SKIP_2: SEND_EXT_CODE(PS2DC_MM_FWD_EXT, mk_or_bk); case MCEH_REPLAY_1: case MCEH_REPLAY_2: SEND_EXT_CODE(PS2DC_MM_PREV_EXT, mk_or_bk); case MCEH_MEDIA_1: case MCEH_MEDIA_2: // Win + 1 = Starts Kodi SEND_2KEY_CODE(PS2DC_R_GUI_EXT, 1, PS2DC_1, 0, mk_or_bk); default: return; } }
void sendCalibParameters(int mouseNb) { uint8 code; uint16 freq = DEFAULT_SAMPLING_FREQ; float distEncoderMeter2 = distEncoderMeter/2.0f; OSTimeDly(10); SEND_CODE(MOUSE_SEND_RATIOKU); SEND_ALL(mice[mouseNb].RatioKU); SEND_CODE(MOUSE_SEND_RATIOKV); SEND_ALL(mice[mouseNb].RatioKV); SEND_CODE(MOUSE_SEND_THETA); SEND_ALL(mice[mouseNb].theta); SEND_CODE(MOUSE_SEND_RX); SEND_ALL(mice[mouseNb].RX0); SEND_CODE(MOUSE_SEND_RY); SEND_ALL(mice[mouseNb].RY0); SEND_CODE(MOUSE_SEND_COEFDELTA); SEND_ALL(mice[mouseNb].Delta0); SEND_CODE(MOUSE_SEND_VALUEVTOPS); SEND_ALL(valueVTops); SEND_CODE(MOUSE_SEND_DISTENCODER2); SEND_ALL(distEncoderMeter2); SEND_CODE(MOUSE_SEND_FREQ); SEND_ALL(freq); LOG_DEBUG1("code = %02X", MOUSE_SEND_FREQ); LOG_DEBUG1("freq = %d", freq); OSTimeDly(10); SEND_CODE(MOUSE_RESET); OSTimeDly(10); SEND_CODE(MOUSE_ENABLE); }