diff --git a/UWPHook/EventsHook.cs b/UWPHook/EventsHook.cs
index 4e918aa..0f6cab7 100644
--- a/UWPHook/EventsHook.cs
+++ b/UWPHook/EventsHook.cs
@@ -49,10 +49,12 @@ namespace UWPHook
private void KeyboardWatcher_OnKeyInput(object sender, KeyInputEventArgs e)
{
- KeyToXboxButton button = (KeyToXboxButton)keyboardToController.ListButtons.Select(x => x.Key == e.KeyData.Keyname);
-
- controller.Buttons ^= button.x360Buttons;
- _scpBus.Report((int)1, controller.GetReport(), _outputReport);
+ KeyToXboxButton button = keyboardToController.ListButtons.FirstOrDefault(x => x.Key == e.KeyData.Keyname);
+ if (button != null) //We do have a bind for this key
+ {
+ controller.Buttons ^= button.x360Buttons;
+ _scpBus.Report((int)1, controller.GetReport(), _outputReport);
+ }
}
internal void StopHooking()
diff --git a/UWPHook/GamesWindow.xaml b/UWPHook/GamesWindow.xaml
index 574ff9c..38dca23 100644
--- a/UWPHook/GamesWindow.xaml
+++ b/UWPHook/GamesWindow.xaml
@@ -35,11 +35,12 @@
-
+
+
diff --git a/UWPHook/GamesWindow.xaml.cs b/UWPHook/GamesWindow.xaml.cs
index 91e48e8..7457e7f 100644
--- a/UWPHook/GamesWindow.xaml.cs
+++ b/UWPHook/GamesWindow.xaml.cs
@@ -49,9 +49,12 @@ namespace UWPHook
this.WindowStyle = WindowStyle.None;
this.WindowState = WindowState.Maximized;
this.Title = "UWPHook: Streaming a game";
- this.label.Content = "UWPHook is streaming your game, fasten your seatbelts.";
+ this.labelStatus.Content = "UWPHook is streaming your game, fasten your seatbelts.";
//The user is trying to Stream his game probably, so let's start to emulate his controller
+ //Steam's in-home streaming treats UWPHook with it's "Desktop mode" config, causing all types of
+ //Weird conflicts, every time a button on the remote computer's controller is pressed, the client
+ //Receives a keyboard button instead. This should be a good approach
KeyboardToController Joystick = null;
if (!File.Exists(AppDomain.CurrentDomain.BaseDirectory + "/Joysticks.json"))
@@ -64,15 +67,7 @@ namespace UWPHook
{
this.listJoystick = JsonConvert.DeserializeObject>(File.ReadAllText(AppDomain.CurrentDomain.BaseDirectory + "/Joysticks.json"));
//Try to load the config for this game
- foreach (var item in listJoystick)
- {
- if (item.Game == Environment.GetCommandLineArgs()[1])
- {
- Joystick = item;
- break;
- }
- }
- //Joystick = (KeyboardToController)(listJoystick.q(x => x.Game == "X"/*Environment.GetCommandLineArgs()[1]*/)[0]);
+ Joystick = listJoystick.FirstOrDefault(x => x.Game == "X"/*Environment.GetCommandLineArgs()[1]*/);
}
var json = JsonConvert.SerializeObject(listJoystick);
@@ -254,7 +249,7 @@ namespace UWPHook
grid.IsEnabled = true;
progressBar.Visibility = Visibility.Collapsed;
- label.Content = "Installed Apps";
+ labelStatus.Content = Apps.Entries.Count + " Installed Apps";
}
private void Bwr_DoWork(object sender, DoWorkEventArgs e)
@@ -325,6 +320,12 @@ namespace UWPHook
App.icon.Close();
}
+ private void Button_Click(object sender, RoutedEventArgs e)
+ {
+ JoystickSetup setup = new JoystickSetup();
+ setup.Show();
+ }
+
private void HelpButton_Click(object sender, RoutedEventArgs e)
{
SettingsWindow window = new SettingsWindow();
diff --git a/UWPHook/JoystickSetup.xaml b/UWPHook/JoystickSetup.xaml
index 6c4651c..36a0e9b 100644
--- a/UWPHook/JoystickSetup.xaml
+++ b/UWPHook/JoystickSetup.xaml
@@ -17,32 +17,27 @@
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+