⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 keys.h

📁 GBA游戏程序
💻 H
字号:
///////////////////////////////////////////////////////////////
// File:    keys.h                                           //
// Author:  Benjamin D. Hale AKA WhatZdat D. Pimp            //
// Purpose: Function defs. and Basic Defines keypad/d-pad    //
///////////////////////////////////////////////////////////////

// Includes

// Defines

#define REG_KEY                  ((volatile unsigned short*)0x4000130)
#define KEY_A_PRESSED            (!((*REG_KEY) & (1<<0)))
#define KEY_B_PRESSED            (!((*REG_KEY) & (1<<1)))
#define KEY_SELECT_PRESSED       (!((*REG_KEY) & (1<<2)))
#define KEY_START_PRESSED        (!((*REG_KEY) & (1<<3)))
#define KEY_RIGHT_PRESSED        (!((*REG_KEY) & (1<<4)))
#define KEY_LEFT_PRESSED         (!((*REG_KEY) & (1<<5)))
#define KEY_UP_PRESSED           (!((*REG_KEY) & (1<<6)))
#define KEY_DOWN_PRESSED         (!((*REG_KEY) & (1<<7)))
#define KEY_R_PRESSED            (!((*REG_KEY) & (1<<8)))
#define KEY_L_PRESSED            (!((*REG_KEY) & (1<<9)))
//////////////////////////////////////////////////////////////////////////
#define KEY_A		1
#define KEY_B		2
#define KEY_SELECT	4
#define KEY_START	8
#define KEY_RIGHT	16
#define KEY_LEFT	32
#define KEY_UP		64
#define KEY_DOWN	128
#define KEY_R		256
#define KEY_L		512
// Variables
static u16 keypadState;
static u16 keyTrig;
static u16 keyCont;

// Function prototypes
#define  UPDATA_INPUT() 	keypadState=	((*(u16*)0x04000130) ^ 0xFFFF); \
                            keyTrig=keypadState&(keypadState^keyCont);      \
                            keyCont=keypadState;                           
#define PRESS_ONCE(k)   (k&keyTrig)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -