Add app.py
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
from flask import Flask, request, render_template, jsonify
|
||||
import os
|
||||
|
||||
app = Flask(__name__)
|
||||
|
||||
KEYBOARD = "/dev/hidg0"
|
||||
MOUSE = "/dev/hidg1"
|
||||
|
||||
def send_keyboard(code):
|
||||
# 8-byte HID keyboard report: [mod, 0, key, 0, 0, 0, 0, 0]
|
||||
report = bytes([0, 0, code, 0, 0, 0, 0, 0])
|
||||
release = bytes([0] * 8)
|
||||
with open(KEYBOARD, "wb") as f:
|
||||
f.write(report)
|
||||
f.write(release)
|
||||
|
||||
def send_mouse(dx, dy, buttons):
|
||||
# 4-byte HID mouse report: [buttons, dx, dy, wheel]
|
||||
report = bytes([buttons & 0x07, dx & 0xFF, dy & 0xFF, 0])
|
||||
with open(MOUSE, "wb") as f:
|
||||
f.write(report)
|
||||
|
||||
@app.route("/")
|
||||
def index():
|
||||
return render_template("index.html")
|
||||
|
||||
@app.route("/key", methods=["POST"])
|
||||
def key():
|
||||
code = int(request.form["code"])
|
||||
send_keyboard(code)
|
||||
return "OK"
|
||||
|
||||
@app.route("/mouse", methods=["POST"])
|
||||
def mouse():
|
||||
dx = int(request.form.get("dx", 0))
|
||||
dy = int(request.form.get("dy", 0))
|
||||
buttons = int(request.form.get("buttons", 0))
|
||||
send_mouse(dx, dy, buttons)
|
||||
return "OK"
|
||||
|
||||
if __name__ == "__main__":
|
||||
app.run(host="0.0.0.0", port=80)
|
||||
Reference in New Issue
Block a user