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) {
|
||||
for (int16_t layer = 0; layer < KM_LAY; layer++) {
|
||||
for (int16_t output = 0; output < KM_OUT; output++) {
|
||||
for (int16_t input = 0; input < KM_IN; input++) {
|
||||
for (uint8_t layer = 0; layer < KM_LAY; layer++) {
|
||||
for (uint8_t output = 0; output < KM_OUT; output++) {
|
||||
for (uint8_t input = 0; input < KM_IN; 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;
|
||||
}
|
||||
|
||||
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) {
|
||||
*value = DYNAMIC_KEYMAP[layer][output][input];
|
||||
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) {
|
||||
DYNAMIC_KEYMAP[layer][output][input] = value;
|
||||
return true;
|
||||
|
@ -27,9 +27,9 @@
|
||||
// Save dynamic keymap to flash
|
||||
bool keymap_save_config(void);
|
||||
// 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
|
||||
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
|
||||
|
||||
// Translate a keycode from PS/2 set 2 to PS/2 set 1
|
||||
|
Reference in New Issue
Block a user