mirror of
https://github.com/portapack-mayhem/mayhem-firmware.git
synced 2024-12-04 23:45:26 +00:00
Added back
Added the ability to use the Up and Left buttons simultaneously to cause the cursor to move to the top left of the screen
This commit is contained in:
parent
848dba44d8
commit
a49c35088d
@ -298,6 +298,12 @@ void EventDispatcher::handle_switches() {
|
||||
}
|
||||
|
||||
if( in_key_event ) {
|
||||
if (switches_state[(size_t)ui::KeyEvent::Left] && switches_state[(size_t)ui::KeyEvent::Up])
|
||||
{
|
||||
const auto event = static_cast<ui::KeyEvent>(ui::KeyEvent::Back);
|
||||
context.focus_manager().update(top_widget, event);
|
||||
}
|
||||
|
||||
// If we're in a key event, return. We will ignore all additional key
|
||||
// presses until the first key is released. We also want to ignore events
|
||||
// where the last key held generates a key event when other pressed keys
|
||||
|
@ -325,6 +325,7 @@ enum class KeyEvent {
|
||||
Down = 2,
|
||||
Up = 3,
|
||||
Select = 4,
|
||||
Back = 5, /* Left and Up together */
|
||||
};
|
||||
|
||||
using EncoderEvent = int32_t;
|
||||
|
@ -179,7 +179,14 @@ void FocusManager::update(
|
||||
};
|
||||
|
||||
const auto nearest = std::min_element(collection.cbegin(), collection.cend(), compare_fn);
|
||||
if( nearest != collection.cend() ) {
|
||||
// Up and left to indicate back
|
||||
if (event == KeyEvent::Back) {
|
||||
collection.clear();
|
||||
widget_collect_visible(top_widget, find_back_fn, collection);
|
||||
if (!collection.empty())
|
||||
set_focus_widget(collection[0].first);
|
||||
}
|
||||
else if( nearest != collection.cend() ) {
|
||||
//focus->blur();
|
||||
const auto new_focus = (*nearest).first;
|
||||
set_focus_widget(new_focus);
|
||||
|
Loading…
Reference in New Issue
Block a user