75 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			75 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
<!doctype html>
 | 
						|
<html lang="en">
 | 
						|
<head>
 | 
						|
  <meta charset="utf-8">
 | 
						|
  <title>Klávesnice remote SSH</title>
 | 
						|
  <style>
 | 
						|
  </style>
 | 
						|
  <script src="https://code.jquery.com/jquery-3.5.0.js"></script>
 | 
						|
  <script src="//cdnjs.cloudflare.com/ajax/libs/socket.io/2.2.0/socket.io.js" integrity="sha256-yr4fRk/GU1ehYJPAs8P4JlTgu0Hdsp4ZKrx8bDEDC3I=" crossorigin="anonymous"></script>
 | 
						|
</head>
 | 
						|
<body>
 | 
						|
	HID input keyboard, POST data to /keyboard<br/>
 | 
						|
<div>
 | 
						|
</div>
 | 
						|
 | 
						|
<br/>
 | 
						|
Server response: <span></span>
 | 
						|
 | 
						|
<script>
 | 
						|
var socket = io();
 | 
						|
 | 
						|
 | 
						|
function zapis(t) {
 | 
						|
  $("div").text(t);
 | 
						|
}
 | 
						|
 | 
						|
var previous;
 | 
						|
 | 
						|
$(window).bind('keydown', function(event) {
 | 
						|
  event.preventDefault();
 | 
						|
  var str = String.fromCharCode(event.which).toLowerCase();
 | 
						|
 | 
						|
  var ctrl = event.ctrlKey;
 | 
						|
  if (previous == 17) {
 | 
						|
    ctrl = true;
 | 
						|
  }
 | 
						|
 | 
						|
  var obj = {
 | 
						|
    ctrlKey: ctrl,
 | 
						|
    shiftKey: event.shiftKey,
 | 
						|
    altKey: event.altKey,
 | 
						|
    which: event.which,
 | 
						|
	  code: event.code,
 | 
						|
    str: str
 | 
						|
  }
 | 
						|
 | 
						|
  if (event.which != 16 && event.which != 17 && event.which != 18) {
 | 
						|
    console.log(obj);
 | 
						|
 | 
						|
    socket.emit('kbdEvent', JSON.stringify(obj));
 | 
						|
  }
 | 
						|
 | 
						|
  var text = "";
 | 
						|
  if (ctrl) {
 | 
						|
    text = text + ' + Control';
 | 
						|
  }
 | 
						|
  if (event.shiftKey) {
 | 
						|
    text = text + ' + Shift';
 | 
						|
  }
 | 
						|
  if (event.altKey) {
 | 
						|
    text = text + ' + Alt';
 | 
						|
  }
 | 
						|
  text = text + ' + ' + str;
 | 
						|
  text = text.substr(3);
 | 
						|
  zapis(text);
 | 
						|
 | 
						|
  previous = event.keyCode;
 | 
						|
 | 
						|
});
 | 
						|
 | 
						|
</script>
 | 
						|
 
 | 
						|
</body>
 | 
						|
</html>
 |