We took Inspiration from the new MacBook Pro "touch bar" that recently came out.

What it does

The Keyboard Slider is custom keyboard attachment that is in constant communication with a computer and receives current information from the computer, such as the volume, the brightness, and current part of a page or document. The slider then gives the user the capability of changing the percent of the volume as well as being able to scroll down a webpage.

How we built it

We built a mechanical keyboard and purchased a motorized linear potentiometer slider online. We used serial to communicate between an Arduino and computer quickly and accurately.

Challenges we ran into

We ran into some challenges while trying to read values from the Arduino so that we can appropriately set the system volume when called. The arduino actually prints using ASCII characters even if it print in a binary or HEX format. Monitoring scroll bars is very difficult since there is no easy program or method in Java or any language that will return a percentage value for the current position, we had to use Sikuli to scan the screen for the elements that make up a scrollbar and construct if from there. We also had issues with the slider oscillating back and forth when given a value. Java is very limited on what information can be gathered about the current running system

Accomplishments that we're proud of

We created something that we believe to be very unique and new! We overcame lots of challenges that were difficult to find help in solving. Since a lot of what we chose to do was newer, there was very little documentation online for the libraries we used including the serial communication library.

What we learned

We learned a lot from the using the Sikuli library. Sikuli is a very complicated but powerful images search/matching library that will search a region for a specific match that it is provided with. We also learned a lot about that limits of java and how little access it has to the operating system and things running on it.

What's next for Keyboard Slider

Keyboard Slider if continued we would hope to develop some more in depth applications for it to use such as a Youtube scrubber. We also would want to make it be able to be used more global with different types of applications, so that people who buy it can make their own applications and grow the product maybe even into a standard for all keyboards. We would also like to add some buttons (or replace buttons) to the slider so that the toggle features work more easily for the user. Instead of soldering the circuit to a prototyping board, creating a PCB (printed circuit board) so that more could be created with higher accuracy and in more quantities.

Built With

  • arduino-leonardo
  • autohotkey
  • java
  • jna-4.1.0
  • jnativehook
  • jserialcomm
  • serial
  • sikuli
Share this project: