Changed packet sequence numbers to only apply to mouse movements, and they now reset with every tap.
Switched the JS code to calling fetch() directly. Minor style changes.
This commit is contained in:
parent
3eb86784b6
commit
5f0d133580
@ -5,6 +5,7 @@ Public Class main
|
||||
Dim weblistener As HttpListener
|
||||
Dim lastpos As New Point(0, 0)
|
||||
Dim startpos As New Point(0, 0)
|
||||
Dim lastmouseseq As Integer = 0
|
||||
Dim nexttoggleclick As UInteger = MouseEventFlags.MOUSEEVENTF_LEFTDOWN Or MouseEventFlags.MOUSEEVENTF_RIGHTDOWN Or MouseEventFlags.MOUSEEVENTF_MIDDLEDOWN Or MouseEventFlags.MOUSEEVENTF_XDOWN
|
||||
|
||||
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles StartButton.Click
|
||||
@ -39,8 +40,6 @@ Public Class main
|
||||
Dim context As HttpListenerContext = Nothing
|
||||
Dim resp As HttpListenerResponse
|
||||
Dim respstr As String = String.Empty
|
||||
Dim lastpacket As Long = -1
|
||||
Dim lastpack As Long
|
||||
Dim leftclicking As Boolean = False
|
||||
While weblistener.IsListening
|
||||
Try
|
||||
@ -57,13 +56,8 @@ Public Class main
|
||||
|
||||
If path = "/" Then
|
||||
respstr = FileIO.FileSystem.ReadAllText("res/page.html")
|
||||
lastpacket = 0
|
||||
Else
|
||||
Dim pack As Long = context.Request.QueryString("seq")
|
||||
If pack > lastpack Then
|
||||
respstr = handleinput(context.Request)
|
||||
lastpack = pack
|
||||
End If
|
||||
respstr = handleinput(context.Request)
|
||||
End If
|
||||
|
||||
If String.IsNullOrEmpty(respstr) Then
|
||||
@ -117,11 +111,16 @@ Public Class main
|
||||
lastpos.Y = req.QueryString("y")
|
||||
startpos.X = req.QueryString("x")
|
||||
startpos.Y = req.QueryString("y")
|
||||
lastmouseseq = 0
|
||||
|
||||
Case "move" 'trackpad touch move
|
||||
mouse_event(MouseEventFlags.MOUSEEVENTF_MOVE, req.QueryString("x") - lastpos.X, req.QueryString("y") - lastpos.Y, 0, 0)
|
||||
lastpos.X = req.QueryString("x")
|
||||
lastpos.Y = req.QueryString("y")
|
||||
Dim seq As Integer = req.QueryString("seq")
|
||||
If seq > lastmouseseq Then
|
||||
mouse_event(MouseEventFlags.MOUSEEVENTF_MOVE, req.QueryString("x") - lastpos.X, req.QueryString("y") - lastpos.Y, 0, 0)
|
||||
lastpos.X = req.QueryString("x")
|
||||
lastpos.Y = req.QueryString("y")
|
||||
lastmouseseq = seq
|
||||
End If
|
||||
|
||||
Case "end"
|
||||
Dim tol As Integer = TapInput.Value
|
||||
|
@ -36,7 +36,6 @@ button:active {
|
||||
#canvas {
|
||||
width: 100%;
|
||||
background-color: #111;
|
||||
outline: gray solid 1px;
|
||||
}
|
||||
div{
|
||||
display: flex;
|
||||
@ -44,7 +43,7 @@ div{
|
||||
input{
|
||||
background-color: #111;
|
||||
color: gray;
|
||||
outline: gray solid 1px;
|
||||
border: 1px solid gray;
|
||||
border: none;
|
||||
}
|
||||
|
||||
@ -53,40 +52,40 @@ input{
|
||||
<body>
|
||||
<div style="flex:2">
|
||||
<button style="flex:1">menu</button>
|
||||
<button onclick="sendmessage('key', 'code=46')" style="flex:1">del</button>
|
||||
<button onclick="sendmessage('key', 'code=8')" style="flex:1">bksp</button>
|
||||
<button onclick="sendmessage('key', 'code=13')" style="flex:1">enter</button>
|
||||
<button onclick="fetch('/key?code=46')" style="flex:1">del</button>
|
||||
<button onclick="fetch('/key?code=8')" style="flex:1">bksp</button>
|
||||
<button onclick="fetch('/key?code=13')" style="flex:1">enter</button>
|
||||
<input id="typebox" placeholder="type here" size=8 style="flex:2">
|
||||
</div>
|
||||
<div style="flex:1">
|
||||
<button onclick="sendmessage('sendkeys', 'keys=j')" style="flex:1">j</button>
|
||||
<button onclick="sendmessage('sendkeys', 'keys={LEFT}')" style="flex:1">←</button>
|
||||
<button onclick="sendmessage('sendkeys', 'keys=k')" style="flex:1">k</button>
|
||||
<button onclick="sendmessage('sendkeys', 'keys={RIGHT}')" style="flex:1">→</button>
|
||||
<button onclick="sendmessage('sendkeys', 'keys=l')" style="flex:1">l</button>
|
||||
<button onclick="fetch('/sendkeys?keys=j')" style="flex:1">j</button>
|
||||
<button onclick="fetch('/sendkeys?keys={LEFT}')" style="flex:1">←</button>
|
||||
<button onclick="fetch('/sendkeys?keys=k')" style="flex:1">k</button>
|
||||
<button onclick="fetch('/sendkeys?keys={RIGHT}')" style="flex:1">→</button>
|
||||
<button onclick="fetch('/sendkeys?keys=l')" style="flex:1">l</button>
|
||||
</div>
|
||||
<div style="flex:12">
|
||||
<span id="canvas"></span>
|
||||
</div>
|
||||
<div style="flex:2">
|
||||
<button onclick="sendmessage('toggle', 'button=left')" style="flex:2">left (toggle)</button>
|
||||
<button onclick="sendmessage('wheel', 'axis=vert&delta=120')" style="flex:1">up</button>
|
||||
<button onclick="sendmessage('click', 'button=middle')" style="flex:1">mid</button>
|
||||
<button onclick="sendmessage('wheel', 'axis=vert&delta=-120')" style="flex:1">dn</button>
|
||||
<button onclick="sendmessage('click', 'button=right')" style="flex:2">right</button>
|
||||
<button onclick="fetch('/toggle?button=left')" style="flex:2">left (toggle)</button>
|
||||
<button onclick="fetch('/wheel?axis=vert&delta=120')" style="flex:1">up</button>
|
||||
<button onclick="fetch('/click?button=middle')" style="flex:1">mid</button>
|
||||
<button onclick="fetch('/wheel?axis=vert&delta=-120')" style="flex:1">dn</button>
|
||||
<button onclick="fetch('/click?button=right')" style="flex:2">right</button>
|
||||
</div>
|
||||
<div style="flex:2">
|
||||
<button onclick="sendmessage('key', 'code=174')" style="flex:2">vol -</button>
|
||||
<button onclick="sendmessage('key', 'code=173')" style="flex:1">mute</button>
|
||||
<button onclick="sendmessage('key', 'code=175')" style="flex:2">vol +</button>
|
||||
<button onclick="fetch('/key?code=174')" style="flex:2">vol -</button>
|
||||
<button onclick="fetch('/key?code=173')" style="flex:1">mute</button>
|
||||
<button onclick="fetch('/key?code=175')" style="flex:2">vol +</button>
|
||||
</div>
|
||||
<div style="flex:2">
|
||||
<button onclick="sendmessage('key', 'code=178')" style="flex:1">stop</button>
|
||||
<button onclick="sendmessage('key', 'code=177')" style="flex:1">prev</button>
|
||||
<button onclick="sendmessage('key', 'code=179')" style="flex:1">play/pause</button>
|
||||
<button onclick="sendmessage('key', 'code=176')" style="flex:1">next</button>
|
||||
<button onclick="fetch('/key?code=178')" style="flex:1">stop</button>
|
||||
<button onclick="fetch('/key?code=177')" style="flex:1">prev</button>
|
||||
<button onclick="fetch('/key?code=179')" style="flex:1">play/pause</button>
|
||||
<button onclick="fetch('/key?code=176')" style="flex:1">next</button>
|
||||
</div>
|
||||
<script>
|
||||
<script type="text/javascript">
|
||||
function startup() {
|
||||
var el = document.getElementById("canvas");
|
||||
el.addEventListener("touchstart", handleStart, false);
|
||||
@ -107,8 +106,9 @@ var packetnum = 0;
|
||||
|
||||
function handleStart(evt) {
|
||||
if (currenttouch == null) {
|
||||
currenttouch = evt.changedTouches[0];
|
||||
sendmessage("start", "x=" + currenttouch.pageX + "&y=" + currenttouch.pageY)
|
||||
currenttouch = evt.changedTouches[0];
|
||||
packetnum = 0;
|
||||
fetch("/start?x=" + currenttouch.pageX + "&y=" + currenttouch.pageY);
|
||||
}
|
||||
}
|
||||
|
||||
@ -119,8 +119,9 @@ function handleMove(evt) {
|
||||
}
|
||||
for (var i = 0; i < touches.length; i++) {
|
||||
if (touches[i].identifier == currenttouch.identifier) {
|
||||
currenttouch = evt.changedTouches[0];
|
||||
sendmessage("move", "x=" + currenttouch.pageX + "&y=" + currenttouch.pageY)
|
||||
currenttouch = evt.changedTouches[0];
|
||||
packetnum++;
|
||||
fetch("/move?x=" + currenttouch.pageX + "&y=" + currenttouch.pageY + "&seq=" + packetnum);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -130,7 +131,7 @@ function handleEnd(evt) {
|
||||
for (var i = 0; i < touches.length; i++) {
|
||||
if (touches[i].identifier == currenttouch.identifier) {
|
||||
currenttouch = evt.changedTouches[0];
|
||||
sendmessage("end", "x=" + currenttouch.pageX + "&y=" + currenttouch.pageY)
|
||||
fetch("/end?x=" + currenttouch.pageX + "&y=" + currenttouch.pageY)
|
||||
currenttouch = null;
|
||||
}
|
||||
}
|
||||
@ -141,7 +142,7 @@ function handleCancel(evt) {
|
||||
for (var i = 0; i < touches.length; i++) {
|
||||
if (touches[i].identifier == currenttouch.identifier) {
|
||||
currenttouch = evt.changedTouches[0];
|
||||
sendmessage("end", "x=" + currenttouch.pageX + "&y=" + currenttouch.pageY)
|
||||
fetch("/end?x=" + currenttouch.pageX + "&y=" + currenttouch.pageY)
|
||||
currenttouch = null;
|
||||
}
|
||||
}
|
||||
@ -149,17 +150,10 @@ function handleCancel(evt) {
|
||||
|
||||
function handlekeypress(evt) {
|
||||
evt.preventDefault();
|
||||
sendmessage("text", "text=" + encodeURIComponent(evt.target.value));
|
||||
fetch("/text?text=" + encodeURIComponent(evt.target.value));
|
||||
evt.target.value = "";
|
||||
}
|
||||
|
||||
function sendmessage(opt, q) {
|
||||
fetch("/" + opt + "/?" + q + "&seq=" + packetnum);
|
||||
packetnum++;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
</body>
|
||||
|
@ -153,7 +153,9 @@
|
||||
<Content Include="res\page.html">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="res\readme.txt" />
|
||||
<Content Include="res\readme.txt">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
|
Loading…
x
Reference in New Issue
Block a user