Skip to content

Commit 92795eb

Browse files
committed
Split VirtualController into abstract and child class to make it reusable across different controller types.
1 parent 9fa675f commit 92795eb

18 files changed

+558
-400
lines changed

SerialPrograms/CMakeLists.txt

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -613,9 +613,11 @@ file(GLOB MAIN_SOURCES
613613
Source/Controllers/ControllerSession.h
614614
Source/Controllers/ControllerSelectorWidget.cpp
615615
Source/Controllers/ControllerSelectorWidget.h
616-
Source/Controllers/GlobalQtKeyMap.cpp
617-
Source/Controllers/GlobalQtKeyMap.h
618-
Source/Controllers/KeyboardStateTracker.h
616+
Source/Controllers/KeyboardInput/GlobalQtKeyMap.cpp
617+
Source/Controllers/KeyboardInput/GlobalQtKeyMap.h
618+
Source/Controllers/KeyboardInput/KeyboardInput.cpp
619+
Source/Controllers/KeyboardInput/KeyboardInput.h
620+
Source/Controllers/KeyboardInput/KeyboardStateTracker.h
619621
Source/Controllers/NullController.cpp
620622
Source/Controllers/NullController.h
621623
Source/Controllers/SuperscalarScheduler.cpp
@@ -834,8 +836,8 @@ file(GLOB MAIN_SOURCES
834836
Source/NintendoSwitch/Framework/NintendoSwitch_SwitchSystemOption.h
835837
Source/NintendoSwitch/Framework/NintendoSwitch_SwitchSystemSession.cpp
836838
Source/NintendoSwitch/Framework/NintendoSwitch_SwitchSystemSession.h
837-
Source/NintendoSwitch/Framework/NintendoSwitch_VirtualController.cpp
838-
Source/NintendoSwitch/Framework/NintendoSwitch_VirtualController.h
839+
Source/NintendoSwitch/Framework/NintendoSwitch_KeyboardInput.cpp
840+
Source/NintendoSwitch/Framework/NintendoSwitch_KeyboardInput.h
839841
Source/NintendoSwitch/Framework/NintendoSwitch_VirtualControllerState.cpp
840842
Source/NintendoSwitch/Framework/NintendoSwitch_VirtualControllerState.h
841843
Source/NintendoSwitch/Framework/UI/NintendoSwitch_CommandRow.cpp

SerialPrograms/SerialPrograms.pro

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -312,7 +312,8 @@ SOURCES += \
312312
Source/Controllers/ControllerSelectorWidget.cpp \
313313
Source/Controllers/ControllerSession.cpp \
314314
Source/Controllers/ControllerDescriptor.cpp \
315-
Source/Controllers/GlobalQtKeyMap.cpp \
315+
Source/Controllers/KeyboardInput/GlobalQtKeyMap.cpp \
316+
Source/Controllers/KeyboardInput/KeyboardInput.cpp \
316317
Source/Controllers/NullController.cpp \
317318
Source/Controllers/SerialPABotBase/SerialPABotBase.cpp \
318319
Source/Controllers/SerialPABotBase/SerialPABotBase_Handle.cpp \
@@ -406,6 +407,7 @@ SOURCES += \
406407
Source/NintendoSwitch/DevPrograms/BoxDraw.cpp \
407408
Source/NintendoSwitch/DevPrograms/TestProgramComputer.cpp \
408409
Source/NintendoSwitch/DevPrograms/TestProgramSwitch.cpp \
410+
Source/NintendoSwitch/Framework/NintendoSwitch_KeyboardInput.cpp \
409411
Source/NintendoSwitch/Framework/NintendoSwitch_MultiSwitchProgramOption.cpp \
410412
Source/NintendoSwitch/Framework/NintendoSwitch_MultiSwitchProgramSession.cpp \
411413
Source/NintendoSwitch/Framework/NintendoSwitch_MultiSwitchSystemOption.cpp \
@@ -414,7 +416,6 @@ SOURCES += \
414416
Source/NintendoSwitch/Framework/NintendoSwitch_SingleSwitchProgramSession.cpp \
415417
Source/NintendoSwitch/Framework/NintendoSwitch_SwitchSystemOption.cpp \
416418
Source/NintendoSwitch/Framework/NintendoSwitch_SwitchSystemSession.cpp \
417-
Source/NintendoSwitch/Framework/NintendoSwitch_VirtualController.cpp \
418419
Source/NintendoSwitch/Framework/NintendoSwitch_VirtualControllerState.cpp \
419420
Source/NintendoSwitch/Framework/UI/NintendoSwitch_CommandRow.cpp \
420421
Source/NintendoSwitch/Framework/UI/NintendoSwitch_MultiSwitchProgramWidget.cpp \
@@ -1437,8 +1438,9 @@ HEADERS += \
14371438
Source/Controllers/ControllerSelectorWidget.h \
14381439
Source/Controllers/ControllerSession.h \
14391440
Source/Controllers/ControllerDescriptor.h \
1440-
Source/Controllers/GlobalQtKeyMap.h \
1441-
Source/Controllers/KeyboardStateTracker.h \
1441+
Source/Controllers/KeyboardInput/GlobalQtKeyMap.h \
1442+
Source/Controllers/KeyboardInput/KeyboardInput.h \
1443+
Source/Controllers/KeyboardInput/KeyboardStateTracker.h \
14421444
Source/Controllers/NullController.h \
14431445
Source/Controllers/SerialPABotBase/SerialPABotBase.h \
14441446
Source/Controllers/SerialPABotBase/SerialPABotBase_Handle.h \
@@ -1548,6 +1550,7 @@ HEADERS += \
15481550
Source/NintendoSwitch/DevPrograms/TestProgramComputer.h \
15491551
Source/NintendoSwitch/DevPrograms/TestProgramSwitch.h \
15501552
Source/NintendoSwitch/NintendoSwitch_ConsoleHandle.h \
1553+
Source/NintendoSwitch/Framework/NintendoSwitch_KeyboardInput.h \
15511554
Source/NintendoSwitch/Framework/NintendoSwitch_MultiSwitchProgramOption.h \
15521555
Source/NintendoSwitch/Framework/NintendoSwitch_MultiSwitchProgramSession.h \
15531556
Source/NintendoSwitch/Framework/NintendoSwitch_MultiSwitchSystemOption.h \
@@ -1556,7 +1559,6 @@ HEADERS += \
15561559
Source/NintendoSwitch/Framework/NintendoSwitch_SingleSwitchProgramSession.h \
15571560
Source/NintendoSwitch/Framework/NintendoSwitch_SwitchSystemOption.h \
15581561
Source/NintendoSwitch/Framework/NintendoSwitch_SwitchSystemSession.h \
1559-
Source/NintendoSwitch/Framework/NintendoSwitch_VirtualController.h \
15601562
Source/NintendoSwitch/Framework/NintendoSwitch_VirtualControllerState.h \
15611563
Source/NintendoSwitch/Framework/UI/NintendoSwitch_CommandRow.h \
15621564
Source/NintendoSwitch/Framework/UI/NintendoSwitch_MultiSwitchProgramWidget.h \

SerialPrograms/Source/CommonFramework/VideoPipeline/UI/VideoDisplayWidget.h

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,8 @@ class VideoDisplayWindow;
2222
// Interface for forwarding keyboard commands from the VideoDisplayWidget to
2323
// whatever thing under it handles it.
2424
struct CommandReceiver{
25-
// Returns false if key is not handled. (pass it up to next handler)
26-
virtual bool key_press(QKeyEvent* event) = 0;
27-
virtual bool key_release(QKeyEvent* event) = 0;
25+
virtual void key_press(QKeyEvent* event) = 0;
26+
virtual void key_release(QKeyEvent* event) = 0;
2827

2928
virtual void focus_in(QFocusEvent* event) = 0;
3029
virtual void focus_out(QFocusEvent* event) = 0;

SerialPrograms/Source/CommonFramework/VideoPipeline/UI/VideoDisplayWindow.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,13 +90,15 @@ void VideoDisplayWindow::keyPressEvent(QKeyEvent* event){
9090
exit_full_screen();
9191
return;
9292
}
93-
if (m_display_widget && m_display_widget->command_receiver().key_press(event)){
93+
if (m_display_widget){
94+
m_display_widget->command_receiver().key_press(event);
9495
return;
9596
}
9697
QWidget::keyPressEvent(event);
9798
}
9899
void VideoDisplayWindow::keyReleaseEvent(QKeyEvent* event){
99-
if (m_display_widget && m_display_widget->command_receiver().key_release(event)){
100+
if (m_display_widget){
101+
m_display_widget->command_receiver().key_release(event);
100102
return;
101103
}
102104
QWidget::keyReleaseEvent(event);

SerialPrograms/Source/Controllers/GlobalQtKeyMap.cpp renamed to SerialPrograms/Source/Controllers/KeyboardInput/GlobalQtKeyMap.cpp

File renamed without changes.

SerialPrograms/Source/Controllers/GlobalQtKeyMap.h renamed to SerialPrograms/Source/Controllers/KeyboardInput/GlobalQtKeyMap.h

File renamed without changes.

0 commit comments

Comments
 (0)