From 4c60bc9e681865fcfc149775a1ed7ccd2613d5bf Mon Sep 17 00:00:00 2001 From: Aidan MacDonald Date: Sun, 23 May 2021 17:30:58 +0100 Subject: New port: Shanling Q1 native - Audio playback works - Touchscreen and buttons work - Bootloader works and is capable of dual boot - Plugins are working - Cabbiev2 theme has been ported - Stable for general usage Thanks to Marc Aarts for porting Cabbiev2 and plugin bitmaps. There's a few minor known issues: - Bootloader must be installed manually using 'usbboot' as there is no support in jztool yet. - Keymaps may be lacking, need further testing and feedback. - Some plugins may not be fully adapted to the screen size and could benefit from further tweaking. - LCD shows abnormal effects under some circumstances: for example, after viewing a mostly black screen an afterimage appears briefly when going back to a brightly-lit screen. Sudden power-off without proper shutdown of the backlight causes a "dissolving" effect. - CW2015 battery reporting driver is buggy, and disabled for now. Battery reporting is currently voltage-based using the AXP192. Change-Id: I635e83f02a880192c5a82cb0861ad3a61c137c3a --- uisimulator/buttonmap/shanling-q1.c | 72 +++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 uisimulator/buttonmap/shanling-q1.c (limited to 'uisimulator/buttonmap/shanling-q1.c') diff --git a/uisimulator/buttonmap/shanling-q1.c b/uisimulator/buttonmap/shanling-q1.c new file mode 100644 index 0000000000..da9787ba2e --- /dev/null +++ b/uisimulator/buttonmap/shanling-q1.c @@ -0,0 +1,72 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2021 by Aidan MacDonald + * + * 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_UP: + new_btn = BUTTON_PREV; + break; + + case SDLK_KP2: + case SDLK_DOWN: + new_btn = BUTTON_NEXT; + break; + + case SDLK_KP5: + case SDLK_RETURN: + case SDLK_SPACE: + new_btn = BUTTON_PLAY; + break; + + case SDLK_ESCAPE: + new_btn = BUTTON_POWER; + break; + + case SDLK_KP_PLUS: + case SDLK_EQUALS: + new_btn = BUTTON_VOL_UP; + break; + + case SDLK_KP_MINUS: + case SDLK_MINUS: + new_btn = BUTTON_VOL_DOWN; + break; + } + return new_btn; +} + +struct button_map bm[] = { + { SDLK_KP_PLUS, 426, 140, 40, "Volume +" }, + { SDLK_KP_MINUS, 426, 180, 40, "Volume -" }, + { SDLK_SPACE, 0, 244, 40, "Play" }, + { SDLK_UP, 0, 133, 40, "Previous" }, + { SDLK_DOWN, 0, 357, 40, "Next" }, + { 0, 0, 0, 0, "None" } +}; -- cgit v1.2.3