Skip to content

matgray/UniversalRemote

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Universal Remote

Copyright 2014. Mathew Gray. This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

This suite containing two servlets and a java swing client that allows for your computer's keyboard to be controlled by anything that can access the internet. Supports multiple clients. The java swing client does not host a server, so no need to be on the same network as the computer you are controlling

##Use Cases

#####Amazon Instant Video Remote Control

With the Android App, you can send keystrokes to your computer. Simply bind "Space" to a button, and "Left Arrow" and "Right Arrow" to another to be able to control the movie from the comfort of your couch

#####PowerPoint Remote Control

No need to buy and keep track of a clicker and a dongle to plug into your computer. Simply use the Android app to bind a key to "Left" and another key to "Right" and boom you have a PowerPoint remote

#####Security

Be able to lock your computer from anywhere. Just a tap of a button and you can lock your computer's screen.

##Technical Details

The app submits a GET request with a valid session id (the id is given to each computer client that connects) and a sequence of keystrokes to the HttpServlet. The servlet parses the sequence of keystrokes and verifies that they are valid (ie every key is released, and no key is released without first being pressed). If the sequence is valid, the request is forwarded to a different server hosted in the same Tomcat container. This servlet is in charge of maintaining an open socket with the Computer Clients. When a request is received from the HttpServlet, the session id is looked up and the keystrokes are forwarded to the computer client, which will then perform the keystrokes.

The Android App allows for you to get the session id of a client by scanning in a QR code, and then map buttons how you see fit. Programmed buttons are persisted, along with their user-customized label

About

Remotely press keys on your computer

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages