mirror of
https://github.com/clockworkpi/uConsole.git
synced 2025-12-12 10:08:50 +01:00
Change Volume key logic
(Volume key=volume down, Shift key+Volume key=volume up, Fn key+Volume key=mute)
This commit is contained in:
parent
1924163912
commit
322fd34ef7
@ -67,7 +67,7 @@ const uint16_t keyboard_maps[][MATRIX_KEYS] = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
[FN_LAYER] = {
|
[FN_LAYER] = {
|
||||||
_PRINT_KEY, _PAUSE_KEY, _VOLUME_P, '`', '[', ']', KEY_F11, KEY_F12, \
|
_PRINT_KEY, _PAUSE_KEY, _VOLUME_MUTE, '`', '[', ']', KEY_F11, KEY_F12, \
|
||||||
KEY_F1, KEY_F2, KEY_F3, KEY_F4, KEY_F5, KEY_F6, KEY_F7, KEY_F8, \
|
KEY_F1, KEY_F2, KEY_F3, KEY_F4, KEY_F5, KEY_F6, KEY_F7, KEY_F8, \
|
||||||
KEY_F9, KEY_F10, _FN_LOCK_KEYBOARD, KEY_CAPS_LOCK, EMP, EMP, EMP, EMP, \
|
KEY_F9, KEY_F10, _FN_LOCK_KEYBOARD, KEY_CAPS_LOCK, EMP, EMP, EMP, EMP, \
|
||||||
'q', 'w', 'e', 'r', 't', 'y', KEY_PAGE_UP, KEY_INSERT, \
|
'q', 'w', 'e', 'r', 't', 'y', KEY_PAGE_UP, KEY_INSERT, \
|
||||||
@ -251,18 +251,20 @@ void keyboard_action(DEVTERM*dv, uint8_t row, uint8_t col, uint8_t mode) {
|
|||||||
|
|
||||||
case _VOLUME_P: {
|
case _VOLUME_P: {
|
||||||
if (mode == KEY_PRESSED) {
|
if (mode == KEY_PRESSED) {
|
||||||
if (dv->Keyboard_state.sf_on > 0) {
|
dv->Consumer->press(HIDConsumer::VOLUME_UP);
|
||||||
dv->Consumer->press(HIDConsumer::MUTE);
|
|
||||||
} else {
|
|
||||||
dv->Consumer->press(HIDConsumer::VOLUME_UP);
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
keyboard_release(dv, addr, k);
|
keyboard_release(dv, addr, k);
|
||||||
}
|
}
|
||||||
} break;
|
} break;
|
||||||
case _VOLUME_M: {
|
case _VOLUME_M: {
|
||||||
if (mode == KEY_PRESSED) {
|
if (mode == KEY_PRESSED) {
|
||||||
dv->Consumer->press(HIDConsumer::VOLUME_DOWN);
|
if (dv->Keyboard_state.sf_on > 0) {
|
||||||
|
dv->Keyboard->release(_LEFT_SHIFT_KEY);
|
||||||
|
dv->Keyboard->release(KEY_RIGHT_SHIFT);
|
||||||
|
dv->Consumer->press(HIDConsumer::VOLUME_UP);
|
||||||
|
} else {
|
||||||
|
dv->Consumer->press(HIDConsumer::VOLUME_DOWN);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
keyboard_release(dv, addr, k);
|
keyboard_release(dv, addr, k);
|
||||||
}
|
}
|
||||||
@ -319,7 +321,6 @@ void keypad_release_core(DEVTERM*dv, uint16_t k) {
|
|||||||
|
|
||||||
switch (k) {
|
switch (k) {
|
||||||
case _FN_SHIFT:
|
case _FN_SHIFT:
|
||||||
dv->Keyboard_state.sf_on = 0;
|
|
||||||
break;
|
break;
|
||||||
case _LEFT_SHIFT_KEY:
|
case _LEFT_SHIFT_KEY:
|
||||||
case KEY_RIGHT_SHIFT:
|
case KEY_RIGHT_SHIFT:
|
||||||
@ -327,6 +328,7 @@ void keypad_release_core(DEVTERM*dv, uint16_t k) {
|
|||||||
dv->Keyboard->release(k);
|
dv->Keyboard->release(k);
|
||||||
dv->Keyboard_state.shift.begin = 0;
|
dv->Keyboard_state.shift.begin = 0;
|
||||||
dv->Keyboard_state.shift.time = 0;
|
dv->Keyboard_state.shift.time = 0;
|
||||||
|
dv->Keyboard_state.sf_on = 0;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -474,11 +476,7 @@ void keypad_action(DEVTERM*dv, uint8_t col, uint8_t mode) {
|
|||||||
|
|
||||||
switch (k) {
|
switch (k) {
|
||||||
case _FN_SHIFT:
|
case _FN_SHIFT:
|
||||||
if (mode == KEY_PRESSED) {
|
|
||||||
dv->Keyboard_state.sf_on = k;
|
|
||||||
} else {
|
|
||||||
keypad_release(dv, col, k);
|
keypad_release(dv, col, k);
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
case _LEFT_SHIFT_KEY:
|
case _LEFT_SHIFT_KEY:
|
||||||
case KEY_RIGHT_SHIFT:
|
case KEY_RIGHT_SHIFT:
|
||||||
@ -486,6 +484,7 @@ void keypad_action(DEVTERM*dv, uint8_t col, uint8_t mode) {
|
|||||||
if (dv->Keyboard_state.shift.lock == 0) {
|
if (dv->Keyboard_state.shift.lock == 0) {
|
||||||
dv->Keyboard->press(k);
|
dv->Keyboard->press(k);
|
||||||
dv->Keyboard_state.shift.begin = k;
|
dv->Keyboard_state.shift.begin = k;
|
||||||
|
dv->Keyboard_state.sf_on = k;
|
||||||
}
|
}
|
||||||
} else if (mode == KEY_RELEASED) {
|
} else if (mode == KEY_RELEASED) {
|
||||||
keypad_release(dv, col, k);
|
keypad_release(dv, col, k);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user