[HTC 10 Questions & Answers] Sivat:
Welp, it's been almost a month but I finally figured out what I needed and got an xposed module going to replace all of the gestures.

I have it set so that swipe right does the next song, swipe left is previous song, swipe up is play/pause, swipe down is wake, double tap is wake. (I'm gonna change these later i'm just glad I got double tap to fully work)

https://drive.google.com/open?id=0ByRPtdp5OYAXTDZHOWxOSm40UHc

Source code:

package com.example.sivat.htc_gesture;

import java.lang.Object;
import android.content.Context;
import android.os.PowerManager;
import android.content.Intent;
import android.view.KeyEvent;
import de.robv.android.xposed.IXposedHookLoadPackage;
import de.robv.android.xposed.XposedBridge;
import de.robv.android.xposed.XposedHelpers;
import de.robv.android.xposed.callbacks.XC_LoadPackage.LoadPackageParam;
import de.robv.android.xposed.XC_MethodReplacement;

public class XposedMod implements IXposedHookLoadPackage {
Context context;
@Override
public void handleLoadPackage(LoadPackageParam lpparam) throws Throwable {
if (!lpparam.packageName.equals("com.htc.sense.easyaccessservice"))
return;
Class<?> EasyAction =
XposedHelpers.findClass("com.htc.sense.easyaccessservice.easy.sense81.EasySensorAction81", lpparam.classLoader);

XposedHelpers.findAndHookMethod(EasyAction, "triggerMotionAction", int.class, new XC_MethodReplacement() {
@Override
protected Object replaceHookedMethod(MethodHookParam param) throws Throwable {
XposedBridge.log("BEFORE EXECUTE!");
context = (Context) XposedHelpers.getObjectField(param.thisObject, "mContext");
int gesture = (Integer) param.args[0];
XposedBridge.log(String.format("%1$d",gesture));
PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wakeLock = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP
| PowerManager.ON_AFTER_RELEASE, "MyWakeLock");
wakeLock.acquire();
wakeLock.release();
performAction(gesture, context);
param.setResult(null);
return null;
}
});
}

private void performAction(int action, Context context) {
switch(action){
case GestureType.SWIPE_LEFT:
sendMediaButton(context, KeyEvent.KEYCODE_MEDIA_PREVIOUS);
wakeUpDevice();
case GestureType.SWIPE_RIGHT:
sendMediaButton(context, KeyEvent.KEYCODE_MEDIA_NEXT);
wakeUpDevice();
case GestureType.CAMERA_ACTION:
wakeUpDevice();
case GestureType.SWIPE_UP;
wakeUpDevice();
case GestureType.DOUBLE_TAP_ACTION:
wakeUpDevice();
}

}

private void wakeUpDevice() {
XposedBridge.log("WTFISGOINGON");
}

private void sendMediaButton(Context context, int keyCode) {
KeyEvent keyEvent = new KeyEvent(KeyEvent.ACTION_DOWN, keyCode);
Intent intent = new Intent(Intent.ACTION_MEDIA_BUTTON);
intent.putExtra(Intent.EXTRA_KEY_EVENT, keyEvent);

context.sendOrderedBroadcast(intent, null);

keyEvent = new KeyEvent(KeyEvent.ACTION_UP, keyCode);
intent = new Intent(Intent.ACTION_MEDIA_BUTTON);
intent.putExtra(Intent.EXTRA_KEY_EVENT, keyEvent);

context.sendOrderedBroadcast(intent, null);
}

public class GestureType {
public static final int SWIPE_LEFT = 3;
public static final int SWIPE_RIGHT = 2;
public static final int SWIPE_UP = 1;
public static final int CAMERA_ACTION = 6;
public static final int DOUBLE_TAP_ACTION = 5;
}
}