A modern Music Player Daemon based on Rockbox open source high quality audio player
libadwaita audio rust zig deno mpris rockbox mpd
fork

Configure Feed

Select the types of activity you want to include in your feed.

at master 65 lines 2.6 kB view raw
1/*************************************************************************** 2 * __________ __ ___. 3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___ 4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / 5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < 6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ 7 * \/ \/ \/ \/ \/ 8 * $Id$ 9 * 10 * Copyright (C) 2020 by William Wilgus 11 * 12 * This program is free software; you can redistribute it and/or 13 * modify it under the terms of the GNU General Public License 14 * as published by the Free Software Foundation; either version 2 15 * of the License, or (at your option) any later version. 16 * 17 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY 18 * KIND, either express or implied. 19 * 20 ****************************************************************************/ 21#ifndef CORE_KEYMAP_H 22#define CORE_KEYMAP_H 23 24#include <stdbool.h> 25#include <inttypes.h> 26#include "config.h" 27#include "action.h" 28#define KEYREMAP_VERSION 1 29#define KEYREMAP_HEADERID (LAST_ACTION_PLACEHOLDER | (TARGET_ID << 8)) 30 31/* If exists remap file will be loaded at startup */ 32#define CORE_KEYREMAP_FILE ROCKBOX_DIR "/keyremap.kmf" 33 34/* Allocates core buffer, copies keymap to allow buttons for actions to be remapped*/ 35int core_set_keyremap(struct button_mapping* core_keymap, int count); 36 37/* load a remap file to allow buttons for actions to be remapped */ 38int core_load_key_remap(const char *filename); 39 40/* 41 * entries consist of 3 int [action, button, prebtn] 42 * the header (VERSION, LAST_DEFINED_ACTION, count) is stripped by open_key_remap 43 * 44 * context look up table is at the beginning 45 * action_code contains (context | CONTEXT_REMAPPED) 46 * button_code contains index of first remapped action for the matched context 47 * prebtn_code contains count of actions in this remapped context 48 * [-1] REMAP_VERSION, REMAP_HEADERID, entry count(9) / DISCARDED AFTER LOAD 49 * [0] CORE_CONTEXT_REMAP(ctx1), offset1=(3), count=(1) 50 * [1] CORE_CONTEXT_REMAP(ctx2, offset2=(5), count=(2) 51 * [2] sentinel, 0, 0 52 * [3] act0, btn, 0 53 * [4] sentinel 0, 0 54 * [5] act1, btn, 0 55 * [6] act2, btn1 56 * [7] sentinel, 0, 0 57 * 58 * Note: 59 * last entry of each group is always the sentinel [CONTEXT_STOPSEARCHING, BUTTON_NONE, BUTTON_NONE] 60 * contexts must match exactly -- re-mapped contexts run before the built in w/ fall through contexts 61 * ie. you can't remap std_context and expect it to match std_context actions from the WPS context. 62 */ 63 64#endif /* CORE_KEYMAP_H */ 65