diff --git a/include/mgba/internal/gb/input.h b/include/mgba/internal/gb/input.h new file mode 100644 index 000000000..585104e22 --- /dev/null +++ b/include/mgba/internal/gb/input.h @@ -0,0 +1,29 @@ +/* Copyright (c) 2013-2019 Jeffrey Pfau + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +#ifndef GB_INPUT_H +#define GB_INPUT_H + +#include + +CXX_GUARD_START + +#include + +enum GBKey { + GB_KEY_A = 0, + GB_KEY_B = 1, + GB_KEY_SELECT = 2, + GB_KEY_START = 3, + GB_KEY_RIGHT = 4, + GB_KEY_LEFT = 5, + GB_KEY_UP = 6, + GB_KEY_DOWN = 7, + GB_KEY_MAX, +}; + +CXX_GUARD_END + +#endif diff --git a/src/gb/CMakeLists.txt b/src/gb/CMakeLists.txt index 948cca747..0dc642803 100644 --- a/src/gb/CMakeLists.txt +++ b/src/gb/CMakeLists.txt @@ -4,6 +4,7 @@ set(SOURCE_FILES cheats.c core.c gb.c + input.c io.c mbc.c memory.c diff --git a/src/gb/input.c b/src/gb/input.c new file mode 100644 index 000000000..e1f975c6b --- /dev/null +++ b/src/gb/input.c @@ -0,0 +1,29 @@ +/* Copyright (c) 2013-2019 Jeffrey Pfau + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +#include + +#include + +const struct mInputPlatformInfo GBInputInfo = { + .platformName = "gb", + .keyId = (const char*[]) { + "A", + "B", + "Select", + "Start", + "Right", + "Left", + "Up", + "Down", + }, + .nKeys = GB_KEY_MAX, + .hat = { + .up = GB_KEY_UP, + .left = GB_KEY_LEFT, + .down = GB_KEY_DOWN, + .right = GB_KEY_RIGHT + } +};