diff --git a/PlayWall/.classpath b/PlayWall/.classpath
index d6c36775992856017bbd4f040c3ad7f1dbb44b5d..37d7d01446dd9cf6c9d6d15fdd163b9fc97edae4 100644
--- a/PlayWall/.classpath
+++ b/PlayWall/.classpath
@@ -1,18 +1,19 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry excluding="**/.DS_Store|**/.gitignore|icon.icns|icon.ico|de/tobias/playpad/viewcontroller/main/MainMenuBarController.java|de/tobias/playpad/viewcontroller/main/MainToolbarController.java|de/tobias/playpad/viewcontroller/main/MainViewController.java|de/tobias/playpad/viewcontroller/pad/PadViewController.java|de/tobias/playpad/view/PadView.java" kind="src" path="src"/>
-	<classpathentry excluding="**/.gitignor|de/tobias/playpad/assets/files/dialogDnD.pxm" kind="src" path="assets"/>
-	<classpathentry kind="src" path="test"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/ControlFx"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/XML"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/YML"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/HTML Builder"/>
-	<classpathentry combineaccessrules="false" kind="src" path="/libUtils"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/Plugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/TinySound"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/JLayer"/>
-	<classpathentry combineaccessrules="false" kind="src" path="/PlayWallCore"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry excluding="**/.DS_Store|**/.gitignore|icon.icns|icon.ico|de/tobias/playpad/viewcontroller/main/MainMenuBarController.java|de/tobias/playpad/viewcontroller/main/MainToolbarController.java|de/tobias/playpad/viewcontroller/main/MainViewController.java|de/tobias/playpad/viewcontroller/pad/PadViewController.java|de/tobias/playpad/view/PadView.java" kind="src" path="src"/>
+	<classpathentry excluding="**/.gitignor|de/tobias/playpad/assets/files/dialogDnD.pxm" kind="src" path="assets"/>
+	<classpathentry kind="src" path="test"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/ControlFx"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/XML"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/YML"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/HTML Builder"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/JNA"/>
+	<classpathentry combineaccessrules="false" kind="src" path="/libUtils"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/Plugins"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/TinySound"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/JLayer"/>
+	<classpathentry combineaccessrules="false" kind="src" path="/PlayWallCore"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/PlayWall/src/de/tobias/playpad/PlayPadMain.java b/PlayWall/src/de/tobias/playpad/PlayPadMain.java
index cdf172870e169b8d6ef997906fdc3890ce941934..94eb0f52590721f81d95ddca5ecd014b43ea9dbf 100644
--- a/PlayWall/src/de/tobias/playpad/PlayPadMain.java
+++ b/PlayWall/src/de/tobias/playpad/PlayPadMain.java
@@ -29,6 +29,7 @@ import de.tobias.utils.util.Localization.LocalizationDelegate;
 import de.tobias.utils.util.OS;
 import de.tobias.utils.util.OS.OSType;
 import de.tobias.utils.util.Worker;
+import de.tobias.utils.util.win.User32X;
 import javafx.application.Application;
 import javafx.application.Platform;
 import javafx.scene.control.ButtonType;
@@ -60,7 +61,7 @@ public class PlayPadMain extends Application implements LocalizationDelegate {
 
 	private static PlayPadImpl impl;
 	private static PlayPadUpdater updater;
-
+	
 	public static ResourceBundle getUiResourceBundle() {
 		return uiResourceBundle;
 	}
diff --git a/PlayWall/src/de/tobias/playpad/layout/touch/TouchPadView.java b/PlayWall/src/de/tobias/playpad/layout/touch/TouchPadView.java
index f99a12deec254cb04a0b628916524d5a88dd9746..068de5a19e7ab9fb4bbfd5713861c1dafb123479 100644
--- a/PlayWall/src/de/tobias/playpad/layout/touch/TouchPadView.java
+++ b/PlayWall/src/de/tobias/playpad/layout/touch/TouchPadView.java
@@ -1,5 +1,6 @@
 package de.tobias.playpad.layout.touch;
 
+import de.tobias.playpad.PlayPadMain;
 import de.tobias.playpad.PlayPadPlugin;
 import de.tobias.playpad.PseudoClasses;
 import de.tobias.playpad.pad.Pad;
@@ -13,6 +14,8 @@ import de.tobias.playpad.view.EmptyPadView;
 import de.tobias.utils.ui.icon.FontAwesomeType;
 import de.tobias.utils.ui.icon.FontIcon;
 import de.tobias.utils.ui.scene.BusyView;
+import de.tobias.utils.util.OS;
+import de.tobias.utils.util.win.User32X;
 import javafx.beans.property.Property;
 import javafx.css.PseudoClass;
 import javafx.geometry.Pos;
@@ -86,8 +89,13 @@ public class TouchPadView implements IPadViewV2 {
 		root.getChildren().addAll(infoBox, preview, playBar);
 		superRoot.getChildren().addAll(root);
 
-		superRoot.setOnMouseClicked(controller);
-		playBar.setOnMouseClicked(controller);
+		if (OS.isWindows() && User32X.isTouchAvailable()) {
+			superRoot.setOnTouchPressed(controller);
+			playBar.setOnTouchPressed(controller);
+		} else {
+			superRoot.setOnMouseClicked(controller);
+			playBar.setOnMouseClicked(controller);
+		}
 	}
 
 	@Override
diff --git a/PlayWall/src/de/tobias/playpad/layout/touch/TouchPadViewController.java b/PlayWall/src/de/tobias/playpad/layout/touch/TouchPadViewController.java
index 0e93545f41c4711bdb416203149644d269725805..ff8e4684f0ca809be90bd850fc9f87679766061b 100644
--- a/PlayWall/src/de/tobias/playpad/layout/touch/TouchPadViewController.java
+++ b/PlayWall/src/de/tobias/playpad/layout/touch/TouchPadViewController.java
@@ -20,6 +20,7 @@ import javafx.event.Event;
 import javafx.event.EventHandler;
 import javafx.scene.input.MouseButton;
 import javafx.scene.input.MouseEvent;
+import javafx.scene.input.TouchEvent;
 import javafx.util.Duration;
 
 public class TouchPadViewController implements IPadViewControllerV2, EventHandler<Event> {
@@ -47,7 +48,8 @@ public class TouchPadViewController implements IPadViewControllerV2, EventHandle
 		padDurationListener = new PadDurationListener(this);
 		padPositionListener = new PadPositionListener(this);
 
-		// Listener muss nur einmal hier hinzugefügt werden, weil bei einem neuen Profile, werden neue PadViewController
+		// Listener muss nur einmal hier hinzugefügt werden, weil bei einem
+		// neuen Profile, werden neue PadViewController
 		// erzeugt
 		ProfileSettings profileSettings = Profile.currentProfile().getProfileSettings();
 		profileSettings.lockedProperty().addListener(padLockedListener);
@@ -85,7 +87,9 @@ public class TouchPadViewController implements IPadViewControllerV2, EventHandle
 			pad.statusProperty().addListener(padStatusListener);
 
 			// First Listener call with new data
-			padContentListener.changed(null, null, pad.getContent()); // Add Duration listener
+			padContentListener.changed(null, null, pad.getContent()); // Add
+																		// Duration
+																		// listener
 			padStatusListener.changed(null, null, pad.getStatus());
 
 			padDragListener = new PadDragListener(pad, padView);
@@ -142,7 +146,12 @@ public class TouchPadViewController implements IPadViewControllerV2, EventHandle
 					}
 				}
 			}
-
+		} else if (event instanceof TouchEvent) {
+			if (pad.getStatus() == PadStatus.PLAY) {
+				onStop();
+			} else {
+				onPlay();
+			}
 		}
 	}
 
diff --git a/PlayWallPlugins/awakeplugin/de/tobias/playpad/awakeplugin/impl/AwakePluginImpl.java b/PlayWallPlugins/awakeplugin/de/tobias/playpad/awakeplugin/impl/AwakePluginImpl.java
index 7d6d16465bad2fdad250431fbe30d5e6b1cb3393..ead13c66e180a23982c29bc06f9354e0d6fd2059 100644
--- a/PlayWallPlugins/awakeplugin/de/tobias/playpad/awakeplugin/impl/AwakePluginImpl.java
+++ b/PlayWallPlugins/awakeplugin/de/tobias/playpad/awakeplugin/impl/AwakePluginImpl.java
@@ -25,10 +25,10 @@ import de.tobias.utils.ui.icon.FontAwesomeType;
 import de.tobias.utils.ui.icon.FontIcon;
 import de.tobias.utils.util.AwakeUtils;
 import de.tobias.utils.util.IOUtils;
-import de.tobias.utils.util.Kernel32;
 import de.tobias.utils.util.Localization;
 import de.tobias.utils.util.OS;
 import de.tobias.utils.util.OS.OSType;
+import de.tobias.utils.util.win.Kernel32;
 import javafx.event.ActionEvent;
 import javafx.event.EventHandler;
 import javafx.scene.control.CheckMenuItem;