Main Page   Modules   Data Structures   File List   Globals  

msh_key.h File Reference

Functions for reading GBA keys. More...


Defines

#define key_update()   KEY_UPDATE()
#define key_down(keys)   _KEY_DOWN(keys)
#define key_up(keys)   _KEY_UP(keys)
#define key_pressed(keys)   KEY_PRESSED(keys)
#define key_released(keys)   KEY_RELEASED(keys)
#define any_key_down(keys)   ANY_KEY_DOWN(keys)
#define any_key_up(keys)   ANY_KEY_UP(keys)
#define any_key_pressed(keys)   ANY_KEY_PRESSED(keys)
#define any_key_released(keys)   ANY_KEY_RELEASED(keys)
#define set_key_irq(irq)   SET_KEY_IRQ(irq)
#define get_key_irq()   GET_KEY_IRQ()
#define set_key_irqtype(irqtype)   SET_KEY_IRQTYPE(irqtype)
#define get_key_irqtype()   GET_KEY_IRQTYPE()
#define set_key_irqtargets(keys)   SET_KEY_IRQTARGETS(keys)
#define get_key_irqtargets()   GET_KEY_IRQTARGETS()


Detailed Description


Define Documentation

 
#define KEY_UPDATE  
 

Value:

{_keys_pressed  = ((~REG_KEY) & (~_keys_down)) & KEY_ALL; \
    _keys_released = (REG_KEY & _keys_down) & KEY_ALL; \
    _keys_down     = (~REG_KEY) & KEY_ALL;}

#define SET_KEY_IRQ irq   
 

Value:

{REG_KEYCNT &= _KEY_IRQ_MASK; \
    REG_KEYCNT |= (irq) << _KEY_IRQ_POS;}

#define SET_KEY_IRQTYPE irqtype   
 

Value:

{REG_KEYCNT &= _KEY_IRQTYPE_MASK; \
    REG_KEYCNT |= (irqtype) << _KEY_IRQTYPE_POS;}

#define SET_KEY_IRQTARGETS keys   
 

Value:

{REG_KEYCNT &= ~KEY_ALL; \
    REG_KEYCNT |= (keys);}

 
#define key_update      KEY_UPDATE()
 

Update key status. Should be called every VBL.

#define key_down keys       _KEY_DOWN(keys)
 

Parameters:
keys  u16 [KEY] Keys to query
Returns:
bool [TRUE or FALSE] Keys down
Returns TRUE if all of the specified keys are currently down.
Use the bitwise OR operator to specify multiple keys.

Key defines:
 */
#define KEY_NONE
#define KEY_A
#define KEY_B
#define KEY_SELECT
#define KEY_START
#define KEY_RIGHT
#define KEY_LEFT
#define KEY_UP
#define KEY_DOWN
#define KEY_R
#define KEY_L
#define KEY_ALL

#define key_up keys       _KEY_UP(keys)
 

Parameters:
keys  u16 [KEY] Keys to query
Returns:
bool [TRUE or FALSE] Keys up
Returns TRUE if all of the specified keys are currently up.
Use the bitwise OR operator to specify multiple keys.

Key defines:
 */
#define KEY_NONE
#define KEY_A
#define KEY_B
#define KEY_SELECT
#define KEY_START
#define KEY_RIGHT
#define KEY_LEFT
#define KEY_UP
#define KEY_DOWN
#define KEY_R
#define KEY_L
#define KEY_ALL

#define key_pressed keys       KEY_PRESSED(keys)
 

Parameters:
keys  u16 [KEY] Keys to query
Returns:
bool [TRUE or FALSE] Keys pressed
Returns TRUE if all of the specified keys have been pressed since last call to key_update().
Use the bitwise OR operator to specify multiple keys.

Key defines:
 */
#define KEY_NONE
#define KEY_A
#define KEY_B
#define KEY_SELECT
#define KEY_START
#define KEY_RIGHT
#define KEY_LEFT
#define KEY_UP
#define KEY_DOWN
#define KEY_R
#define KEY_L
#define KEY_ALL

#define key_released keys       KEY_RELEASED(keys)
 

Parameters:
keys  u16 [KEY] Keys to query
Returns:
bool [TRUE or FALSE] Keys released
Returns TRUE if all of the specified keys have been released since last call to key_update().
Use the bitwise OR operator to specify multiple keys.

Key defines:
 */
#define KEY_NONE
#define KEY_A
#define KEY_B
#define KEY_SELECT
#define KEY_START
#define KEY_RIGHT
#define KEY_LEFT
#define KEY_UP
#define KEY_DOWN
#define KEY_R
#define KEY_L
#define KEY_ALL

#define any_key_down keys       ANY_KEY_DOWN(keys)
 

Parameters:
keys  u16 [KEY] Keys to query
Returns:
bool [TRUE or FALSE] Keys down
Returns TRUE if any of the specified keys are currently down.
Use the bitwise OR operator to specify multiple keys.

Key defines:
 */
#define KEY_NONE
#define KEY_A
#define KEY_B
#define KEY_SELECT
#define KEY_START
#define KEY_RIGHT
#define KEY_LEFT
#define KEY_UP
#define KEY_DOWN
#define KEY_R
#define KEY_L
#define KEY_ALL

#define any_key_up keys       ANY_KEY_UP(keys)
 

Parameters:
keys  u16 [KEY] Keys to query
Returns:
bool [TRUE or FALSE] Keys up
Returns TRUE if any of the specified keys are currently up.
Use the bitwise OR operator to specify multiple keys.

Key defines:
 */
#define KEY_NONE
#define KEY_A
#define KEY_B
#define KEY_SELECT
#define KEY_START
#define KEY_RIGHT
#define KEY_LEFT
#define KEY_UP
#define KEY_DOWN
#define KEY_R
#define KEY_L
#define KEY_ALL

#define any_key_pressed keys       ANY_KEY_PRESSED(keys)
 

Parameters:
keys  u16 [KEY] Keys to query
Returns:
bool [TRUE or FALSE] Keys pressed
Returns TRUE if any of the specified keys have been pressed since last call to key_update().
Use the bitwise OR operator to specify multiple keys.

Key defines:
 */
#define KEY_NONE
#define KEY_A
#define KEY_B
#define KEY_SELECT
#define KEY_START
#define KEY_RIGHT
#define KEY_LEFT
#define KEY_UP
#define KEY_DOWN
#define KEY_R
#define KEY_L
#define KEY_ALL

#define any_key_released keys       ANY_KEY_RELEASED(keys)
 

Parameters:
keys  u16 [KEY] Keys to query
Returns:
bool [TRUE or FALSE] Keys released
Returns TRUE if any of the specified keys have been released since last call to key_update().
Use the bitwise OR operator to specify multiple keys.

Key defines:
 */
#define KEY_NONE
#define KEY_A
#define KEY_B
#define KEY_SELECT
#define KEY_START
#define KEY_RIGHT
#define KEY_LEFT
#define KEY_UP
#define KEY_DOWN
#define KEY_R
#define KEY_L
#define KEY_ALL

#define set_key_irq irq       SET_KEY_IRQ(irq)
 

Parameters:
irq  bool [TRUE or FALSE] Enable/Disable IRQ

 
#define get_key_irq      GET_KEY_IRQ()
 

Returns:
bool [TRUE or FALSE] Enable/Disable IRQ

#define set_key_irqtype irqtype       SET_KEY_IRQTYPE(irqtype)
 

Parameters:
irqtype  bool [KEY_IRQTYPE] Key IRQ Type
Key Interrupt Type defines:
 */
#define KEY_IRQTYPE_OR
#define KEY_IRQTYPE_AND

 
#define get_key_irqtype      GET_KEY_IRQTYPE()
 

Returns:
bool [KEY_IRQTYPE] Key IRQ Type
Key Interrupt Type defines:
 */
#define KEY_IRQTYPE_OR
#define KEY_IRQTYPE_AND

#define set_key_irqtargets keys       SET_KEY_IRQTARGETS(keys)
 

Parameters:
keys  u16 [KEY] Keys
Used to set which keys should trigger an interrupt.
Use the bitwise OR operator to specify multiple keys.

Key defines:
 */
#define KEY_NONE
#define KEY_A
#define KEY_B
#define KEY_SELECT
#define KEY_START
#define KEY_RIGHT
#define KEY_LEFT
#define KEY_UP
#define KEY_DOWN
#define KEY_R
#define KEY_L
#define KEY_ALL

 
#define get_key_irqtargets      GET_KEY_IRQTARGETS()
 

Returns:
u16 [KEY] Keys
Returns the keys currently used to trigger an interrupt.
Use the bitwise OR operator to specify multiple keys.

Key defines:
 */
#define KEY_NONE
#define KEY_A
#define KEY_B
#define KEY_SELECT
#define KEY_START
#define KEY_RIGHT
#define KEY_LEFT
#define KEY_UP
#define KEY_DOWN
#define KEY_R
#define KEY_L
#define KEY_ALL


Generated on Wed May 19 21:45:08 2004 for Mushroom GBALib by doxygen 1.2.18