The batteries of my nvidia shield tv sucks so i made a web remote for linux with adb installed
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

102 lines
3.6 KiB

<!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 remote-control" id="remote">
<a class="col-4 btn btn-danger" onclick="sendKey('POWER')"><i class="fas fa-power-off"></i></a>
<a class="col-4 btn btn-secondary" onclick="sendKey('DPAD_UP')"><i class="fas fa-caret-up fa-1c5x"></i></a>
<a class="col-4"></a>
<a class="col-4 btn btn-secondary" onclick="sendKey('DPAD_LEFT')"><i class="fas fa-caret-left fa-1c5x"></i></a>
<a class="col-4 btn btn-secondary" onclick="sendKey('DPAD_CENTER')">OK</a>
<a class="col-4 btn btn-secondary" onclick="sendKey('DPAD_RIGHT')"><i class="fas fa-caret-right fa-1c5x"></i></a>
<a class="col-4"></a>
<a class="col-4 btn btn-secondary" onclick="sendKey('DPAD_DOWN')"><i class="fas fa-caret-down fa-1c5x"></i></a>
<a class="col-4"></a>
<hr class="col-md-12"/>
<a class="col-4 btn btn-secondary" onclick="sendKey('BACK')"><i class="fas fa-long-arrow-alt-left"></i></a>
<a class="col-4 btn btn-secondary" onclick="sendKey('HOME')"><i class="fas fa-home"></i></a>
<a class="col-4 btn btn-secondary" onclick="sendKey('VOLUME_UP')"><i class="fas fa-volume-up"></i></a>
<a class="col-4"></a>
<a class="col-4"></a>
<a class="col-4 btn btn-secondary" onclick="sendKey('VOLUME_DOWN')"><i class="fas fa-volume-down"></i></a>
<a class="col-4"></a>
<a class="col-4"></a>
<a class="col-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>