From d4942cc74c82c465ea395637c77ed06565b8b497 Mon Sep 17 00:00:00 2001 From: Solomon Peachy Date: Fri, 29 Jun 2018 16:09:28 -0400 Subject: Add Xuelin iHIFI 770/770C/800 support Taken from the xvortex fork (Roman Stolyarov) Ported, rebased, and cleaned up by myself. Change-Id: I7b2bca2d29502f2e4544e42f3d122786dd4b7978 --- uisimulator/buttonmap/SOURCES | 2 + uisimulator/buttonmap/ihifi2.c | 90 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 92 insertions(+) create mode 100644 uisimulator/buttonmap/ihifi2.c (limited to 'uisimulator/buttonmap') diff --git a/uisimulator/buttonmap/SOURCES b/uisimulator/buttonmap/SOURCES index d46066d478..4c6ca3adef 100644 --- a/uisimulator/buttonmap/SOURCES +++ b/uisimulator/buttonmap/SOURCES @@ -87,5 +87,7 @@ sony-nwza860.c agptek-rocker.c #elif CONFIG_KEYPAD == XDUOO_X3_PAD xduoo-x3.c +#elif (CONFIG_KEYPAD == IHIFI_770_PAD) || (CONFIG_KEYPAD == IHIFI_800_PAD) +ihifi2.c #endif #endif /* SIMULATOR */ diff --git a/uisimulator/buttonmap/ihifi2.c b/uisimulator/buttonmap/ihifi2.c new file mode 100644 index 0000000000..a197ab8ac2 --- /dev/null +++ b/uisimulator/buttonmap/ihifi2.c @@ -0,0 +1,90 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2016 by Roman Stolyarov + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + + +#include +#include "button.h" +#include "buttonmap.h" + +int key_to_button(int keyboard_button) +{ + int new_btn = BUTTON_NONE; + switch (keyboard_button) + { + case SDLK_KP8: + case SDLK_ESCAPE: + new_btn = BUTTON_POWER; + break; + case SDLK_KP4: + case SDLK_KP_ENTER: + case SDLK_SPACE: + case SDLK_RETURN: + new_btn = BUTTON_PLAY; + break; + case SDLK_KP5: + case SDLK_UP: + new_btn = BUTTON_PREV; + break; + case SDLK_KP6: + case SDLK_PAGEUP: + new_btn = BUTTON_VOL_UP; + break; + case SDLK_KP1: + case SDLK_BACKSPACE: + new_btn = BUTTON_HOME; + break; + case SDLK_KP2: + case SDLK_DOWN: + new_btn = BUTTON_NEXT; + break; + case SDLK_KP3: + case SDLK_PAGEDOWN: + new_btn = BUTTON_VOL_DOWN; + break; + } + return new_btn; +} + +#if (CONFIG_KEYPAD == IHIFI_770_PAD) +struct button_map bm[] = { + { SDLK_KP8, 210, 0, 20, "Power" }, + { SDLK_KP4, 94, 430, 40, "Play" }, + { SDLK_KP5, 190, 430, 40, "Prev" }, + { SDLK_KP6, 285, 430, 40, "Vol Up" }, + { SDLK_KP1, 94, 508, 40, "Home" }, + { SDLK_KP2, 190, 508, 40, "Next" }, + { SDLK_KP3, 285, 508, 40, "Vol Down" }, + { 0, 0, 0, 0, "None" } +}; +#elif (CONFIG_KEYPAD == IHIFI_800_PAD) +struct button_map bm[] = { + { SDLK_KP8, 214, 468, 25, "Power" }, + { SDLK_KP4, 168, 580, 25, "Play" }, + { SDLK_KP5, 60, 524, 25, "Prev" }, + { SDLK_KP6, 102, 455, 25, "Vol Up" }, + { SDLK_KP1, 246, 580, 25, "Home" }, + { SDLK_KP2, 60, 580, 25, "Next" }, + { SDLK_KP3, 50, 455, 25, "Vol Down" }, + { 0, 0, 0, 0, "None" } +}; +#else +#error please define button map +#endif -- cgit v1.2.3