forked from Lephenixnoir/gint
20 lines
481 B
C
20 lines
481 B
C
|
#include <keyboard.h>
|
||
|
|
||
|
/*
|
||
|
keyid()
|
||
|
Transforms a key identifier and returns a key code that is more
|
||
|
convenient for array subscript that the original matrix codes. Please
|
||
|
note that there are a few holes in the numbering.
|
||
|
This function ignores modifiers and returns -1 on error.
|
||
|
*/
|
||
|
int key_id(int matrix_key)
|
||
|
{
|
||
|
if(matrix_key < 0) return -1;
|
||
|
matrix_key &= MOD_CLEAR;
|
||
|
|
||
|
int row = 9 - (matrix_key & 0x0f);
|
||
|
int column = 6 - ((matrix_key & 0xf0) >> 4);
|
||
|
|
||
|
return 6 * row + column;
|
||
|
}
|