Skip to content

Set eye tracking mode without voice commands or using mouse #124

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
ellisk42 opened this issue Nov 2, 2020 · 5 comments
Closed

Set eye tracking mode without voice commands or using mouse #124

ellisk42 opened this issue Nov 2, 2020 · 5 comments
Milestone

Comments

@ellisk42
Copy link

ellisk42 commented Nov 2, 2020

It would be useful to be able to use the eye tracking feature without the speech recognition, and also to not require the use of an actual mouse to enable eye tracking.

Possible use cases:

  • Someone who cannot use a mouse and does not want to use the speech recognition, or who does not have a microphone
  • Someone who is using a different speech system, but wants to use the eye tracking (for example, using Dragon+Natlink)

This could be implemented by having a script called e.g. set_eye_tracking_state and which took as input on the command line different eye tracking actions such as run_calibration or control_mouse - corresponding to the options in the talon menu under "Eye tracking"

@groundwater
Copy link

I can add my use case. I primarily use the eye tracker to reduce the strain on my wrist of mousing across a large screen. However, when doing precision work, the tracker tends to get in the way. The jittery cursor is distracting and I have to toggle it on/off.

I would love either a keyboard shortcut or some other non-voice way to toggle the tracker on/off.

@ellisk42
Copy link
Author

ellisk42 commented Nov 2, 2020

I wonder if this can be done using the repl - if so, users such as groundwater and I could write our own small script which piped some text into a repl process (echo <stuff> | python ~/talon/resources/repl.py), where <stuff> would do something like run calibration or enable/disable eye tracking. And then we could set it up on our machines so that these commands are run when a key is pressed.

Update: Figured this out!

To run calibration:
echo "from talon_plugins import eye_mouse; eye_mouse.calib_start()"|python3 ~/talon/resources/repl.py
To toggle eye tracking:
echo "from talon_plugins import eye_mouse; eye_mouse.control_mouse.toggle()"|python3 ~/talon/resources/repl.py

@lunixbochs
Copy link

lunixbochs commented Nov 3, 2020

I'm leaving this open, as that's not considered a public / stable API as per the linked issues. I will create actions to do this properly before closing this issue.

@lunixbochs
Copy link

lunixbochs commented Nov 3, 2020

Also you should pipe stuff to ~/.talon/bin/repl, not python repl.py. Please don't run stuff from talon/resources, as I reserve the right to do anything I want with that folder (and it's different per OS)

@lunixbochs lunixbochs added this to the v0.2.0 milestone Feb 17, 2021
@lunixbochs lunixbochs modified the milestones: v0.2.0, v0.3.0 Jun 20, 2021
@lunixbochs
Copy link

In Talon 0.3, you can bind hotkeys on all operating systems, and use the tracking actions to control all of the mouse modes. I'm calling this done.

For example:

key(shift-f1): tracking.control_toggle()

See actions.list('tracking') in the repl for a list of the available actions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants