Consumer level eye tracking - easy activation of virtual buttonswithout touchscreen - wxpython for b


Jeff Kang

(First off, sorry in advance, as I’m not sure if this is the right place to post my inquiry).

*Consumer level eye tracking - easy activation of virtual buttons without touchscreen*

After using Autohotkey for remapping, I soon didn't have enough keyboard buttons to attach macros and lines of code to them, so I'd have to make new scripts that use the same button. After more scripts, it can be easy to forget which button does what.

I have a repetitive strain injury of tendinosis (chronic tendinitis), so I was following a couple of eye tracking companies that were planning to launch cheap, mass-market products. One company has just begun preorders.

You can now optionally take away your hands for moving the mouse cursor. Instead, stare at a target on-screen button, and using a keyboard button to click, you can instantly invoke custom virtual buttons that have your macrosand commands that are attached to them. Quick activation of on-screen shortcut tiles without a touchscreen is now more feasible. You could pretty much design the buttons to look however you want. Customizable, virtual buttons are infinitely more productive than static physical keys.

e.g. I remapped F1 to launch a google search on whatever is on the clipboard:
F1::Run .

With another script, F1 could execute something completely different. And within that script, depending on the context, such as what program is currently running, or what window is in focus, the use of F1 could change again; it can get confusing.

It would be more intuitive to look at a virtual button that is actually labeled, "Clipboard Google Search", and then tap my activation key.

*wxpython for buttons, & AutoIt for macros behind buttons?*

Is it possible to use a GUI tool like wxpython to design the buttons, and then use a scripting language like AutoIt, AutoHotkey, AutoKey, or Sikuli torun the scripts and functions?

I found a blog post called "Importing AutoIt into Python". Here is some of what is mentioned:
“It is possible to import all of AutoIt's functions from a required .dll file into python. Then I can use python to code and when I need an AutoIt function I can just call the function.

First you must tell Python that you are going to be using an external file,you do this by using import.

You can now call AutoIt functions using autoit.TheFunctionName()”

There is also some information in a StackOverflow post called "Calling AutoIt Functions in Python" (

“In order to call Autoit functions from python using Autoit's COM interface, there are few prerequisites:

An installation of python with the appropriate python for windows extentions (pywin32)
An full installation of Autoit. (It is possible to only install the COM portion, but it is more involved than a full installation.)
In order to call autoit functions from python, add the following code:

import win32com.client
autoit = win32com.client.Dispatch("AutoItX3.Control")

You can now call autoit functions with the autoit variable.

autoit.ControlClick(WINDOW, "", "[CLASSNN:TTreeView1]", "left", 1, 53, 41)

I'm not a programmer; just beginning. Are wxpython and AutoIt (AutoItX?) a reasonably good direction for getting something like what I am describing?

Thanks for any info.


Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question