|
|
|
|
<!doctype html>
|
|
|
|
|
<html lang="de">
|
|
|
|
|
<head>
|
|
|
|
|
<meta charset="UTF-8">
|
|
|
|
|
<meta name="viewport"
|
|
|
|
|
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
|
|
|
|
|
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
|
|
|
|
<link rel="stylesheet" href="https://bootswatch.com/4/slate/bootstrap.min.css">
|
|
|
|
|
<link rel="stylesheet" href="remote.css">
|
|
|
|
|
<title>Android TV Web Remote</title>
|
|
|
|
|
</head>
|
|
|
|
|
<body>
|
|
|
|
|
<div class="container">
|
|
|
|
|
<div class="row" id="remote-control">
|
|
|
|
|
<a class="col-sm-4 btn btn-danger" onclick="sendKey('POWER')"><i class="fas fa-power-off"></i></a>
|
|
|
|
|
<a class="col-sm-4 btn btn-secondary" onclick="sendKey('DPAD_UP')"><i class="fas fa-caret-up fa-1c5x"></i></a>
|
|
|
|
|
<a class="col-sm-4"></a>
|
|
|
|
|
|
|
|
|
|
<a class="col-sm-4 btn btn-secondary" onclick="sendKey('DPAD_LEFT')"><i class="fas fa-caret-left fa-1c5x"></i></a>
|
|
|
|
|
<a class="col-sm-4 btn btn-secondary" onclick="sendKey('DPAD_CENTER')">OK</a>
|
|
|
|
|
<a class="col-sm-4 btn btn-secondary" onclick="sendKey('DPAD_RIGHT')"><i class="fas fa-caret-right fa-1c5x"></i></a>
|
|
|
|
|
|
|
|
|
|
<a class="col-sm-4"></a>
|
|
|
|
|
<a class="col-sm-4 btn btn-secondary" onclick="sendKey('DPAD_DOWN')"><i class="fas fa-caret-down fa-1c5x"></i></a>
|
|
|
|
|
<a class="col-sm-4"></a>
|
|
|
|
|
|
|
|
|
|
<hr class="col-md-12"/>
|
|
|
|
|
|
|
|
|
|
<a class="col-sm-4 btn btn-secondary" onclick="sendKey('BACK')"><i class="fas fa-long-arrow-alt-left"></i></a>
|
|
|
|
|
<a class="col-sm-4 btn btn-secondary" onclick="sendKey('HOME')"><i class="fas fa-home"></i></a>
|
|
|
|
|
<a class="col-sm-4 btn btn-secondary" onclick="sendKey('VOLUME_UP')"><i class="fas fa-volume-up"></i></a>
|
|
|
|
|
|
|
|
|
|
<a class="col-sm-4"></a>
|
|
|
|
|
<a class="col-sm-4"></a>
|
|
|
|
|
<a class="col-sm-4 btn btn-secondary" onclick="sendKey('VOLUME_DOWN')"><i class="fas fa-volume-down"></i></a>
|
|
|
|
|
|
|
|
|
|
<a class="col-sm-4"></a>
|
|
|
|
|
<a class="col-sm-4"></a>
|
|
|
|
|
<a class="col-sm-4"></a>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
|
|
|
|
|
<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
|
|
|
|
|
<script src="https://kit.fontawesome.com/b54a4cceff.js" crossorigin="anonymous"></script>
|
|
|
|
|
<script>
|
|
|
|
|
function sendKey(key) {
|
|
|
|
|
axios.post('execute.php', {
|
|
|
|
|
keyCode: key
|
|
|
|
|
}).then((response) => {
|
|
|
|
|
// console.log(response);
|
|
|
|
|
}).catch((error) => {
|
|
|
|
|
console.log(error);
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Check for Keypress
|
|
|
|
|
jQuery(document).keydown(function (e) {
|
|
|
|
|
switch (e.keyCode) {
|
|
|
|
|
// SPACE / ENTER
|
|
|
|
|
case 13:
|
|
|
|
|
case 32:
|
|
|
|
|
sendKey('DPAD_CENTER');
|
|
|
|
|
break;
|
|
|
|
|
// W
|
|
|
|
|
case 87:
|
|
|
|
|
sendKey('DPAD_UP');
|
|
|
|
|
break;
|
|
|
|
|
// D
|
|
|
|
|
case 68:
|
|
|
|
|
sendKey('DPAD_RIGHT');
|
|
|
|
|
break;
|
|
|
|
|
// S
|
|
|
|
|
case 83:
|
|
|
|
|
sendKey('DPAD_DOWN');
|
|
|
|
|
break;
|
|
|
|
|
// A
|
|
|
|
|
case 65:
|
|
|
|
|
sendKey('DPAD_LEFT');
|
|
|
|
|
break;
|
|
|
|
|
// UP
|
|
|
|
|
case 38:
|
|
|
|
|
sendKey('VOLUME_UP');
|
|
|
|
|
break;
|
|
|
|
|
// DOWN
|
|
|
|
|
case 40:
|
|
|
|
|
sendKey('VOLUME_DOWN');
|
|
|
|
|
break;
|
|
|
|
|
// H
|
|
|
|
|
case 72:
|
|
|
|
|
sendKey('HOME');
|
|
|
|
|
break;
|
|
|
|
|
// B
|
|
|
|
|
case 72:
|
|
|
|
|
sendKey('BACK');
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
);
|
|
|
|
|
</script>
|
|
|
|
|
</body>
|
|
|
|
|
</html>
|