Skip to content

Commit 9cbc015

Browse files
committed
fix OSC toggle, add mouse toggle
1 parent f90713a commit 9cbc015

3 files changed

Lines changed: 56 additions & 5 deletions

File tree

app/src/main/java/com/limelight/Game.java

Lines changed: 27 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1073,6 +1073,7 @@ private void initQam() {
10731073

10741074
qamPerfSwitch = qamView.findViewById(R.id.qam_perf_overlay_switch);
10751075
qamOscSwitch = qamView.findViewById(R.id.qam_osc_switch);
1076+
qamMouseSwitch = qamView.findViewById(R.id.qam_mouse_switch);
10761077
final View oscRow = qamView.findViewById(R.id.qam_osc_row);
10771078

10781079
if (virtualController == null) {
@@ -1092,19 +1093,33 @@ public void onClick(View v) {
10921093
oscRow.setOnClickListener(new View.OnClickListener() {
10931094
@Override
10941095
public void onClick(View v) {
1095-
if (virtualController == null) {
1096-
return;
1097-
}
10981096
oscVisible = !oscVisible;
10991097
if (oscVisible) {
1098+
if (virtualController == null) {
1099+
virtualController = new VirtualController(controllerHandler,
1100+
(FrameLayout)streamView.getParent(), Game.this);
1101+
virtualController.refreshLayout();
1102+
oscRow.setAlpha(1.0f);
1103+
}
11001104
virtualController.show();
1101-
} else {
1102-
virtualController.hide();
1105+
}
1106+
else {
1107+
if (virtualController != null) {
1108+
virtualController.hide();
1109+
}
11031110
}
11041111
qamOscSwitch.setChecked(oscVisible);
11051112
}
11061113
});
11071114

1115+
qamView.findViewById(R.id.qam_mouse_row).setOnClickListener(new View.OnClickListener() {
1116+
@Override
1117+
public void onClick(View v) {
1118+
setInputGrabState(!grabbedInput);
1119+
qamMouseSwitch.setChecked(grabbedInput);
1120+
}
1121+
});
1122+
11081123
qamView.findViewById(R.id.qam_disconnect).setOnClickListener(new View.OnClickListener() {
11091124
@Override
11101125
public void onClick(View v) {
@@ -1140,13 +1155,20 @@ public void run() {
11401155
private void showQam() {
11411156
qamPerfSwitch.setChecked(perfOverlayVisible);
11421157
qamOscSwitch.setChecked(oscVisible);
1158+
qamMouseSwitch.setChecked(grabbedInput);
1159+
if (oscVisible && virtualController != null) {
1160+
virtualController.hide();
1161+
}
11431162
qamView.setVisibility(View.VISIBLE);
11441163
qamView.findViewById(R.id.qam_perf_row).requestFocus();
11451164
qamVisible = true;
11461165
}
11471166

11481167
private void hideQam() {
11491168
qamView.setVisibility(View.GONE);
1169+
if (oscVisible && virtualController != null) {
1170+
virtualController.show();
1171+
}
11501172
streamView.requestFocus();
11511173
qamVisible = false;
11521174
}

app/src/main/res/layout/overlay_qam.xml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,34 @@
8080

8181
</LinearLayout>
8282

83+
<LinearLayout
84+
android:id="@+id/qam_mouse_row"
85+
android:layout_width="match_parent"
86+
android:layout_height="wrap_content"
87+
android:background="@drawable/qam_row_bg"
88+
android:clickable="true"
89+
android:focusable="true"
90+
android:gravity="center_vertical"
91+
android:orientation="horizontal"
92+
android:padding="12dp">
93+
94+
<TextView
95+
android:layout_width="0dp"
96+
android:layout_height="wrap_content"
97+
android:layout_weight="1"
98+
android:text="@string/qam_mouse"
99+
android:textAppearance="?android:textAppearanceLarge"
100+
android:textColor="#FFFFFFFF" />
101+
102+
<Switch
103+
android:id="@+id/qam_mouse_switch"
104+
android:layout_width="wrap_content"
105+
android:layout_height="wrap_content"
106+
android:clickable="false"
107+
android:focusable="false" />
108+
109+
</LinearLayout>
110+
83111
<View
84112
android:layout_width="match_parent"
85113
android:layout_height="0dp"

app/src/main/res/values/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,7 @@
128128
<string name="qam_title">Quick Menu</string>
129129
<string name="qam_perf_overlay">Performance Overlay</string>
130130
<string name="qam_osc">On-Screen Controller</string>
131+
<string name="qam_mouse">Mouse Capture</string>
131132
<string name="qam_disconnect">Pause Session</string>
132133
<string name="qam_quit">Quit Session</string>
133134
<string name="per_app_settings_title">Application Settings</string>

0 commit comments

Comments
 (0)