keymap: Use u8 for array access
The index will never be negative and will never exceed 255. Change them from i16 to u8 so SDCC will generate more efficient code. Signed-off-by: Tim Crawford <tcrawford@system76.com>
This commit is contained in:
committed by
Jeremy Soller
parent
458cb000f3
commit
5599c02e83
@ -17,9 +17,9 @@ void keymap_init(void) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void keymap_load_default(void) {
|
void keymap_load_default(void) {
|
||||||
for (int16_t layer = 0; layer < KM_LAY; layer++) {
|
for (uint8_t layer = 0; layer < KM_LAY; layer++) {
|
||||||
for (int16_t output = 0; output < KM_OUT; output++) {
|
for (uint8_t output = 0; output < KM_OUT; output++) {
|
||||||
for (int16_t input = 0; input < KM_IN; input++) {
|
for (uint8_t input = 0; input < KM_IN; input++) {
|
||||||
DYNAMIC_KEYMAP[layer][output][input] = KEYMAP[layer][output][input];
|
DYNAMIC_KEYMAP[layer][output][input] = KEYMAP[layer][output][input];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -57,7 +57,7 @@ bool keymap_save_config(void) {
|
|||||||
return flash_read_u16(CONFIG_ADDR) == CONFIG_SIGNATURE;
|
return flash_read_u16(CONFIG_ADDR) == CONFIG_SIGNATURE;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool keymap_get(int16_t layer, int16_t output, int16_t input, uint16_t * value) {
|
bool keymap_get(uint8_t layer, uint8_t output, uint8_t input, uint16_t * value) {
|
||||||
if (layer < KM_LAY && output < KM_OUT && input < KM_IN) {
|
if (layer < KM_LAY && output < KM_OUT && input < KM_IN) {
|
||||||
*value = DYNAMIC_KEYMAP[layer][output][input];
|
*value = DYNAMIC_KEYMAP[layer][output][input];
|
||||||
return true;
|
return true;
|
||||||
@ -66,7 +66,7 @@ bool keymap_get(int16_t layer, int16_t output, int16_t input, uint16_t * value)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool keymap_set(int16_t layer, int16_t output, int16_t input, uint16_t value) {
|
bool keymap_set(uint8_t layer, uint8_t output, uint8_t input, uint16_t value) {
|
||||||
if (layer < KM_LAY && output < KM_OUT && input < KM_IN) {
|
if (layer < KM_LAY && output < KM_OUT && input < KM_IN) {
|
||||||
DYNAMIC_KEYMAP[layer][output][input] = value;
|
DYNAMIC_KEYMAP[layer][output][input] = value;
|
||||||
return true;
|
return true;
|
||||||
|
@ -27,9 +27,9 @@
|
|||||||
// Save dynamic keymap to flash
|
// Save dynamic keymap to flash
|
||||||
bool keymap_save_config(void);
|
bool keymap_save_config(void);
|
||||||
// Get a keycode from the dynamic keymap
|
// Get a keycode from the dynamic keymap
|
||||||
bool keymap_get(int16_t layer, int16_t output, int16_t input, uint16_t * value);
|
bool keymap_get(uint8_t layer, uint8_t output, uint8_t input, uint16_t * value);
|
||||||
// Set a keycode in the dynamic keymap
|
// Set a keycode in the dynamic keymap
|
||||||
bool keymap_set(int16_t layer, int16_t output, int16_t input, uint16_t value);
|
bool keymap_set(uint8_t layer, uint8_t output, uint8_t input, uint16_t value);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Translate a keycode from PS/2 set 2 to PS/2 set 1
|
// Translate a keycode from PS/2 set 2 to PS/2 set 1
|
||||||
|
Reference in New Issue
Block a user