Skip to content

Emulating key-events and process operations - such as closing and setting focus to a process - whenever one of those is invoked. Events can be invoked through different actions on device(s)

Notifications You must be signed in to change notification settings

AlternateIf/ShortcutDevice

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Shortcut Device

This project is based on the Huddle Lamp which was mainly developed and implemented by M.Sc. Roman Rädle and Dr. Hans-Christian Jetter. Shortcut Device is implemented within the bachelor thesis in order to achieve the B.Sc. at the University of Applied Sciences Austria.

Table of contents

Information about the Huddle Lamp

The Huddle Lamp - combining both a desk lamp and a camera - is the attempt to create a new way of interaction between the user and computers such as PCs and mobile devices.

The built in RGB-D camera precisely tracks smartphones and tablets located within a limited area on a table. Moreover Huddle Lamp observes movements of hands that allows developers to make use of cross-device interaction. Due to a web-based pairing approach users simply have to place a device below the camera and open a URL. This URL forwards them to webpage which uses Huddle Lamps JavaScript API in order to make use of the the new interaction.

In order to work with the Huddle Lamp you need to run the Huddle Engine on any server and interact with it through the included JavaScript-API. To be more precise, you run any service that uses JavaScript on either a server or your PC. Next, you connect to the server that runs the Huddle Engine using a JavaScript-API. To get more information about the Huddle Project check out the following links. If you want to get more insight on setting up the environment check out Installation and the Software-Architecture. I also recommend taking a look at the Huddle Engine and the Javascript API

More in-depth information about the Huddle Lamp:


Huddle Engine

The Huddle Engine, running on the _Huddle Vision Server (Software-Architecture, is implemented in C# and uses the Windows Presentation Foundation to provide a User-Interface. It features different Pipelines allowing the user to adjust the settings of tracking. Furhtermore, it shows different views of the tracked area (i.e. the camera vison) which is quite usefule since different settings can lead to smaller cutouts of the inital tracked area. This of course implicates a more exact tracking of mobile devices.

Due to the RGB-D camera being a Time of light camera, it sends infrared rays to the table. Therefore it is able to track devices because of different reflection of the infrared rays compared to the table.

More in-depth information about the engine:



JavaScript API

TODO: Explain what this API is made for and write about its features

More in-depth information about the API:



Huddle Orbiter

TODO: Write about the Orbiter and the advantages

More in-depth information about the Huddle Orbiter:



Demos

Currently there are 2 different demos publicly available. Both of the can be found following the links in the section below.

First off, Where is Waldo, implemented according to the books in which readers have to look for Waldo within a detailed double-üage illustrations. The demo features the same function. But in order to find Waldo, the user needs to move the device to be able to look around the illustration.

The second demo functions quite similar to Where is Waldo. The user is able to look through a whole map with moving his device.

More in-depth information about the demos:



Installation

Check out the installation intro before continuing reading.

  1. Set up the camera
  2. Set up the Huddle Engine: In order to do that execute the Visual Studio project that you can get here
  3. Change the Engines settings in order to get the best result: This can be achieved through changing different threshholds in the USer-Interface of the Engine
  4. Set up your personal webserver: I used Meteor for this purpose
  5. Host the webpage on the webserver
  6. Start the Key Emulator program (this launches the User-Interface and starts the Websocket)
  7. Assing open programs (processes) to the 4 different areas
  8. Place your device inside the tracked area and open the URL to your webpage (on your webserver)
  9. Use the program (Usage)

TODO: Include picture "how to assign"

Usage

  1. (Re-)Assign programs to the 4 areas
  2. Place the phone inside the area that you have assigned to the program, which you want to emulate shortcuts on
  3. If the program is recognized a preset of buttons will be loaded allowing you to increase your efficiency. (e.g. you are listening to youtube; a button f5 will be shown on the device allowing you to refresh the page; clue)
  4. Use the buttons on your device to trigger an Shortcut that will be executed on your computer
  5. Move your device to the left to focus the assigned program
  6. Move your device to the right to close the assigned program

The clue behind that is, that you are able to control programs that are currently not focused, meaning you are for example working with MsOfffice at the moment although you are controlling the webbrowser and therefore youtube with your device.

TODO: Include picture "how to use"

Shortcut Device

software architecture

The Shortcut Device - in this case a tablet - loads the website from the Huddle Server. This can be achieved through any built-in browser but keep in mind that not every browser may support all of the JavaScript Features used.

TODO: Extend this section TODO: Explain software-architecture TODO: Write about the actual project. Provide diagrams, architectures and code

Shortcut Server

TODO: Detailed information about the server

ShortcutJs

TODO: Detailed information about the web-part of the project

Creator & Tutor

The Huddle Lamp project and its implementation belongs to the creators and owners. The project Shortcut Device, using the Huddle Project, only includes the webpage, the User-Interface and the Backend (Key-Emulator, Websocket). I don't claim any rights on both the Huddle Lamp Project and Meteor.

David Magoc
I'm currently enrolled at the University of Applied Sciences Upper Austria - Campus Hagenberg. Studying Software Engineering, my main goal is to create user-friendly and efficient software for different needs. I spend my leasure time doing sports, reading and listening to a lot of music.

Hans Christian Jetter
-defaut text-

About

Emulating key-events and process operations - such as closing and setting focus to a process - whenever one of those is invoked. Events can be invoked through different actions on device(s)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published