Giter Site home page Giter Site logo

precisiongazemouse / precisiongazemouse Goto Github PK

View Code? Open in Web Editor NEW
198.0 16.0 23.0 1.23 MB

Precisely move your mouse by gazing at a point on the screen or by moving your head

Home Page: https://precisiongazemouse.org

License: Apache License 2.0

C# 100.00%

precisiongazemouse's Introduction

Users

See the main website and user guide at precisiongazemouse.org

If you need help, please file an issue by clicking the Issues tab near the top of this page.

Software Developers

I welcome contributions from other software developers! This program is written in C# with Visual Studio .NET. The main classes you should know about include PrecisionGazeMouseForm, which contains the code for the user interface and it's settings. The MouseController class controls the mouse pointer and hotkeys to simulate clicks.

The code is designed to be very extensible so that it's possible to add new trackers easily. There are two folders for PrecisionPointers and WarpPointers. These offer a general interface so that we can implement a design pattern that allows you to set any implementation of each type of pointer. They allow to quickly turn on EyeX, TrackIR, SmartNav or no pointer. If you would like to add support for a new device you can add them here.

If you would like to build the code for Precision Gaze Mouse, you'll need the free developer SDK for Tobii EyeX. You shouldn't need to rebuild the TrackIRUnity DLL since it's just a wrapper and you can use the DLL from the release. However, if you'd like to, you'll need a developer SDK for TrackIR.

precisiongazemouse's People

Contributors

caspark avatar dependabot[bot] avatar kb100 avatar nash8350 avatar qxd-me avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

precisiongazemouse's Issues

Hiding eViacam Interface

When integrating Precision Gaze Mouse with eViacam, is there a way to hide the eViacam click bar after setup? I am planning to use voice clicking, and I would like to hide the bar so it does distract from or cover other things I'm working on.

TrackIR Only mode not working

So I got the TrackIR 5 today and set it up, but I couldn't get it to work with PrecisionGazeMouse. Whenever I move my head, the cursor does not move. Perhaps I did something wrong or missed something?

Here's what I tried:

  • Running TrackIR in administrator mode (same as PrecisionGazeMouse)
  • Used both continous mode and the other mode
  • Tried different sensitivity values (didn't seem to make a difference when I adjusted it)
  • I used the latest version of TrackIR (5.4.2)
  • I used the latest version of PrecisionGazeMouse

Here's what I noticed:

  • I couldn't find the profile "GazePlusMouse" in the titles tab of the TrackIR 5 software, so I wasn't able to change it to One:One profile as stated in documentation
  • It says "running" as status in PrecisionGazeMouse and occasionally teleports the mouse somewhere
  • The Head Rotation value shown in PrecisionGazeMouse does not change when moving my head

I don't have an eye tracker, so I didn't test any of the other modes. Any idea on how I could get it working?
Edit: My operating system is Windows 10 if that is relevant.

Hardware advice

Hello,

I stumbled across your software and I think it's awesome! I would like to start using it, but I need some advice on which mode is the most precise and what hardware I require for that. Can you help me with that? I do wear glasses sometimes, is that not possible with this technique?

I have a two monitor setup, do you think that would work? Not a 100% necessary, but it would be nice.

If you have any affiliate links from amazon.de or amazon.co.uk I'll be happy to use them.

Found some small typos in your text:

'means it takes longer to click'
'Keeping your eyes focused '

Thanks for your time!

Updated website design

Hey I had some spare time so I updated the website for Precision Gaze Mouse. It has a new design which is cleaner and more modern. Hope you like it and let me know if anything could be improved.

Check it out: https://precisiongazemouse.org/

Add support for a "joystick mode"

I was wondering if "continuous mouse movement" is supported, meaning that if I move my head to the side (or up and down) it moves the cursor until I move my head back to the original resting position again. This would be great for games for instance.

TrackIR 5 use as cursor with PGM

Hello, I have ALS, no use of my hands anymore. I'd like to use PGM as mouse/cursor.
I already had a Tracker 4C for use with PGM and now I have recently bought a 2nd hand TrackIR 5.
I installed it with software version 5.4.2.
I can't see how to set it into mouse/cursor mode.
Also PGM indicates that it is paused.
Please help!
regards,
Evert, Netherlands

High CPU useage

Hi,

When I use the software I get a around 20% of my desktop Quadcore i5 being used up. Is this what other users are experiencing?

Thanks.

Head Rotation is too sensitive

I would like to be able to place the mouse using my gaze, with a trigger key, and then be able to make more precise movements around that placement using head rotation. Currently, head rotation sensitivity is very high. That is, fairly small head movements lead to large mouse movements, making it difficult to make accurate small-distance adjustments to the cursor after using gaze to place it. This could be remedied by either making head rotation less sensitive, or by including a drop-down menu allowing the user to select their desired sensitivity.

Sensitivity

Hello.

I noticed that mouse pointer moves when you are moving out side the gaze circe. Is there an option or some parameter to change gaze circle size/radius?

By that, I want to achieve that, pointer will move more frequently - and will be triggered by smaller eye movement.

Issue example:
obraz

If there are two icons inside Gaze circle with such big radius, then pointer will not move between icons.

Cursor often freezes for 1-2 seconds

So I got the cursor movement to work, but I noticed that the cursor often freezes for 1-2 seconds even when I am moving my head and the movement is displayed inside the TrackIR 5 application. The mode I'm using is "TrackIR only". It also seems to only happen when either TrackIR 5 or PrecisionGazeMouse is minimized / not in focus. Any reason why this might be?

App crashes on launch if hotkey not set

I managed to blank out one of the hotkey settings (click on f3) and exit. When I tried to open it again the app immediately crashed and gave an unhandled domain exception. This repeatedly happened and the app would not start. Manually editing the config file and giving the hotkey a valid value back fixed the issue.

Help compiling?

I have a new computer and I can't install from an old application file because the website is down. I don't exactly expect anyone to be able to help me, but I thought I might as well ask: is there any documentation on how to compile the program, or someone willing to explain how to do it?

I am pretty confident with computers, but don't have any experience in this area. I'm more at a level of "dabbled in python and javascript, took a class that involved using linux terminal, knows how to google." So I can follow instructions, or maybe even figure it out with some links, but don't know enough to know what to google in the first place.

Thanks in advance, and if this is too time-consuming of an ask, I understand. (Although if the website stays down, I'm probably not the only person who will want to know how to install without the website/application file.)

Trojan in version v1.06.zip

First of all, thank you very much for your work. I think that your tool will help lots of people (especially children) with strong disabilities to access communication.

While the 1.05 works perfectly well, my windows 10 annonces a Trojan with the version 1.06.

Cursor warps for no reason

Hi,
Lately I have been having issues with the cursor occasionally warping short distances without any eye movement (using eViacam and EyeTracker 4C). It seems to jump just outside the warp radius, sometimes several times in a row--I will be looking at an icon, but before I can click, the cursor will jump off it; I will look away and look back to reset the cursor, then it will jump off (often in exactly the same direction) again, even though me eyes have not moved and I am still staring intently at the thing i am trying to click. The issue seems to happen more frequently closer to the edges of the screen, so it may have something to do with hardware limitations of the EyeTracker (although my monitor is within the supported range). I tried re-calibrating the eye tracker, and that seemed to fix the issue for about five minutes before it started happening again. Any ideas on why this may be happening or what I can do about it? It does not happen all the time, and I can usually click what I need on at least the second or third try, but it would be nice to be able to get things the first time. Like I said, closer the middle of the screen, this almost never happens.

Application silently fails to launch when EyeX is not installed

Hello, first of all thank you for publishing this!

I have an issue with the application not launching at all after installation. Running the setup just silently places a link in the start menu without any proper installation process and launching the application afterwards results in the app briefly appearing in tasks (32bit) and then disappearing silently without any apparent action. Platform is 64bit Win10 on Asus Zenbook Pro.

Thank you in advance for any kind of advice.

Is this still supported?

I downloaded the .exe file from TechSpot and got an error message immediately upon attempting to install. Tried to access developer website, and keep getting an IP address error across multiple machines and browsers. Cannot find installation guide/help anywhere! Is this software still supported as anything other than source code? Can anybody help me with this? @nash8350?

eViacam vs TrackIR

Not sure if this is an issue, per se, but I seem to be getting much better accuracy with eViacam than TrackIR when paired with the Eye Tracker 4c, despite the latter having better hardware. With TrackIR, eye tracking seems to have a harder time hitting the edges of the screen. It lands about an inch away, and needs head tracking to go farther. With eViacam, hitting the edges is vastly easier. It's almost as if the head tracking input from the TrackIR is interfering with the Eye Tracking, like it knows that my head isn't facing the far left side of my screen, so it won't let the mouse go there even when my eyes do. Again, not really a big deal since it seems to work fine with eViacam instead, just seems odd.
Also, I have noticed that often after I launch Precision Gaze Mouse, if I go back into eViacam, the webcam image of my face with a normal (15-30 fps) framerate reading will be replaced by a black screen with a teal box in the middle, and a framerate in the ballpark of 200fps. Does Precision Gaze Mouse somehow re-route eViacam's algorithm to run out of the Eye Tracker instead? Or is this just a fluke? Again, not really a problem as it's working just fine, but I was curious if this was normal.

application not opening

I downloaded the latest release (v1.02), extracted the files in the folder, and ran the application file (as both a user and administrator). However, nothing happened when I tried to run it. I have the Tobii eye tracker 4c, but not the TrackIR.

Open sourcing software based on apache 2.0 license

Hi Nash,

I used PrecisionGazeMouse as a starting point for making a fully functional mouse replacement comparable with Tobii Dynavox. I was not successful in commercializing it, hence, would like to open-source it. I have searched in-depth on how I can be compliant with the Apache 2.0 license and can't figure it out.
Could you please give me directions on what I should include when publishing my derivative work on github so that I am not in violation to your project?

Eyetracker 4c & eViacam Prevents Pausing

I have an tobii eyetracker 4c that functions as expected in eyex only mode. When I use a webcam with eViacam enable and in eyex + eViacam mode (continuous), moving the mouse no longer pauses the eyetracking and the mouse pointer moves in unhelpful ways.

Create an install wizard

To make it easier for people to install the precison gaze mouse, I should create an installer package they can run which will set it up on their system.

Note: you can run it today without installing. Just open the executable.

Move mouse only when triggered

Suggestion from Jason's Random Videos on YouTube:
"Hi Henry. I love your idea for using eye-tracking for larger mouse movements and head tracking for smaller, more precise mouse control. My only concern is that it's "always on". I don't like the mouse following me around as I read, for example. That is why I like that the Tobii 4C only moves the mouse to where I'm looking when I click on a trigger key. If you could incorporate something similar, I think it would be a huge upgrade to your product. For example, you could set it up so that the cursor only moves with eye tracking when you click a trigger, but the head tracking is always on. Thoughts?"

Yes this should be possible. We could add a hotkey that moves the mouse. Leaving this open to see if other people like this suggestion as well.

Using Precision Gaze Mouse with dual monitors

Hello,

First of all, I would like to say thank you so much for creating this software and sharing it with people for free!

I am wondering if I have the Tobii eye tracker and webcam set up on one monitor, will it track the mouse onto a second monitor as well?

Also, is there a certain webcam that you recommend using? Would the camera that is built into my laptop work?

Thank you for all of your help.

Tobii 5

Hi!

Does it work with Tobii 5?

Startup Behavior on Continuous Mode

Hi! Firstly, I love this program. It's exactly what I was looking for when I started trying to use eye tracking for work when my RSI acts ups. All the other programs I tried were too slow and/or too inaccurate for me. Thanks for putting it online for folks to use!

My setup: this program w/ eViacam, Fragpedals, and a tobii eye tracker. I'm in Windows 10 and use continuous mode. I set both programs to run on startup.

My small issue is with start up behavior. For some reason even though it defaults to Continuous mode, the eye warp function doesn't work. I have to click OK on the dialog box and then click the Continuous radio button (even though it's already selected), then click OK again. It's a minor thing, but it means I have to use my mouse, which some people might not be able to do at all.

It would also be neat, but less necessary, if one could permanently get rid of the dialog box that always comes up when you're using eViacam and switching modes. (A "don't show this again" option?)

Turn off automatic clicking when set to "on key press"

I would like to be able to place the mouse using my gaze, with a trigger key, and then be able to make more precise movements around that placement using head rotation, and then click if I choose to. Currently, when I have movement based on key press, the cursor seems to be automatically left click whenever I place the cursor (before I even have a chance to move the cursor with head rotation). The easiest solution is to turn this off (you could use an AHK package to also designate a key to left click). A more ideal solution would be for you to have a set of options built in that will allow the user to designate certain keys to acts as left click, right click, hold down left click, release left click (for click and drag).

Incorporate head rotation when key-press is on

I would like to be able to place the mouse using my gaze, with a trigger key, and then be able to make more precise movements around that placement using head rotation. Currently, when placement is made based on a key press (for gaze), head tracker has no impact on movement of the mouse. This could be fixed by having the option of toggling the movement for gaze position to be based on continuous/key-press, and separately toggling movement for head rotation to be continuous/key-press/off.

Head rotation stays at (0, 0)

Laptop:
Tracker Mode: Trackir Only
Head Rotation didnt get the coordinates until i found out PGM must run as admin...
All works fine now

Desktop:
Same issue as laptop, only the same sollution doesnt work.
TrackIr and PGM both run as admin, nothing there, coordinates stay at 0, 0

Laptop and Desktop both run on windows 10.

Please let me know what else i can try?

Thanks alot!

Ps, im gonna show you a nice video on how i use
PGM, combined with Trackir, Tobii 4c and voicemacro to play 9 tables of online poker soon

Tobii Eye Tracker 5

It looks like Tobii has just released the Eye Tracker 5. I am interested in purchasing either the 4c or 5. Do you know or expect that the Eye Tracker 5 is compatible with PrecisionGazeMouse?
Edit: It appears that the 4c is no longer for sale so I will purchase the 5.

Won't open on Windows 10 home?

Hi, is precision gaze mouse maintained and does it still work? When I run it on my Windows 10 home PC, it shows up for one second in the taskbar and disappears, instantly crashing.

Thanks, sorry to be a pest =P

Problems and a Suggestion

I use a computer for my work but am suffering from arthritis (I'm only 20!) and am searching for a good way to go mouseless. I use Voice Attack with 300+ custom commands for most things including clicking but I need to get rid of mousing with hands entirely. I greatly hope PGM (or something like it) continues to be developed and becomes a perfect way to go 100% mouseless

3 Problems I found while using PGM (using Tobii Eye Tracker 4C and windows 10) :

  1. Head rotation tracking stops often for no apparent reason but comes back after a few seconds.

  2. The sensitivity level of the head tracking affects the mouse warping accuracy greatly.

  3. Every time I've tried PGM after a short while my eye tracker stops working until I restart my computer, 4 times so far...

Suggestion : Add an option of manipulating the cursor location with your head like a joystick so if you turn your head a direction it will continue to move the cursor in that direction (faster the farther you turn) with an adjustable dead zone and top speed.

People, please help this guy develop PGM so you and others don't get RSI!

I believe this app has the potential to save my career if developed further.

Thanks

GUI doesn't show up

After starting the executable the GUI won't show.
Tried it on Windows 10 version 1511 ( didn't check .NET version) and 1703 with .NET Framework 4.7

Right now I'm waiting for Windows to finish updating to 1709. Maybe that will help?
Edit: Updating to 1709 didn't help.

Error on start "Unhandled domain exception"

On opening setup.exe for v1.11, a popup comes up containing Unhandled domain exception: the type initializer for 'PrecisionGazeMouse.Program' threw an exception and the setup fails.

On Windows 10 with Tobii 4c connected and .Net Framework 4.7.03190.

Can't detect my TrackIR 5 (on Win10 64-bit)

Hi,

I've got a TrackIR 5 and a Tobii Eye Tracker 4C, I installed the drivers for both, and verified that both of them work correctly with their official software. But when I run the prebuilt PrecisionGazeMouse v1.0.3 release on Windows 10, it detects my Tobii fine but it doesn't detect my TrackIR, it says there's no connection to TrackIR. If I run the official NaturalPoint TrackIR v5 software it shows correct head tracking in that software, but not in PrecisionGazeMouse. I also tried using your older prebuilt PrecisionGazeMouse v1.0.1 release but it has the same problem.

Aplication does not work without Internet connection

Hello, I download your application, everything works great - this app is what I was looking for.
However is there a way to run this app without internet connection? Some stand alone version perhaps?

At the moment application require network connection to be run.

Will this work with the Tobii 5?

Because of shoulder and tennis + golf elbow rsi problems I want to give this a try.

Will this work with the newest Tobii eye tracker 5?

I also see that Logitec has a really good 4K webcam, will this help too? Or is a standard 1920x1080 webcam good enough?

How to Donate?

Thank you!! Thank you!! Thank you!! Thank you!! Thank you!!

I know this probably isn't the right place to post this but I did not know where else to ask where I can donate.

This is the best software I have found to control a mouse without using hands. I would love to donate money but I am not seeing on any of your pages how I would go about doing that. Let me know how I can support you. You've saved me hours of time and probably thousands of dollars trying to find a eye tracking solution.

PS. I've tried, Smyle Mouse, CameraMouse, GazeRecorder, Project Iris, OptiKey, Tobii Dynavox GazePoint Free, Windows Eye Control, TrackIR Mouse, FaceTrackNoIR, eViaCam and maybe a few others I forgot the name of. Your software is the best of the bunch. The only other option I have found that doesn't even seem to compare, would be to get the AblePoint TrackerPro2 or the Orin HeadMouse Nano that only track head movements. Your software's ability to be able to combine both head tracking AND eye tracking is the game changer. Also the ability to not have click on dwell is super helpful too. Using the eye tracker by itself is way too jittery, your software solves this problem very well.

I currently use Precision Gaze Mouse with a Tobii Eye Tracker 5, eViacam (Logitch C920 Pro), and a combination of VoiceAttack, Windows Dictation, and foot pedals for commands (such as left click, etc). I've tried Precision Gaze Mouse with a Tobii Eye Tracker and a TrackIR but it doesn't seem to work as well as eViacam does. Could be a conflict in the IR reflectivity. I am pretty much completely able to use my computer hands free.

Thank you so much for this excellent software!

tobii tracker 4C

is it possiblle to use tracker 4C instead of EyeX in combo with Smartnav?
or does PGM need modification to support this combo?

Eye movement cancels Dragon commands

For some reason, I cannot seem to get Dragon to voice click on items while EyeX is active. It appears any movement of the eye will displace clicker before it clicks. For example, saying “save” or “click save” does not register unless I hold completely still. Any workaround for this?

Linux Support

I imagine you have considered this previously, but having had a quick look I don't see any dependencies that would prevent this project building for Linux now that .NET is available. I may be completely wrong about that, but thought it would be quicker for you to tell me whether Linux support is possible rather than me going digging.

This seems like a really cool project and I would love to see it support more platforms than just Windows.

Great app - and a couple of ideas

First I want to say that I am exited to have found this app.
I have a sister who is suffering from Sclerosis, and therefor unable to use her hands and having increasing speech difficulties. This is just what I have been looking for to help her, and at an affordable price.
After a quick test, I have a couple of thoughts/ideas for adjustments of the app. I am a developer myself, so I would love to contribute to the development. I am new to github though, so I need to explore this platform a bit before doing something useful :-)
Anyway, here is the thoughts and ideas:

  • Is it possible to adjust the size of the gaze tracker circle?
  • It would be nice with an option to let the mouse click automatically, if the focus is kept in the same spot for a given timeperiod.
  • If I choose EyeX Only, the head rotation is not detected. Head rotation is only detected if I choose to combine it with eViacam. (head rotation is detected by the tobii software, but not by PGM).
  • I have downloaded a program called Communicator 5 from tobii, but when this program is active, the cursor is not controlled by PGM, but can only be controlled by the regular mouse. (I'm not sure if this is caused by the fact that I am only running an evaluation version of the communicator program, but it works fine with eViacam and head movement control only, if I disable tobii C4 and PGM).

Updating domain name from .com to .org

Hey guys I accidentally let my .com domain expire and they wanted $150 to renew so I just registered the .org domain instead for like $10. I'll be moving the installation to the new domain shortly. Just wanted everyone watching this repo to know.

Support for new user

hi @nash8350

thanks for your work.

I have eviacam in my pc and working fine.

i come across this repo and i would like to know what special feature does this repo have over the eviacam?

i run this repo exe but no luck ( no camera connecting )
if any document to follow for new user please advise.

Warp mouse only after an initial head movement

Suggestion from @trishume "Also may I recommend you take a look at my https://github.com/trishume/PolyMouse project’s source code. I use an IMO better way of deciding when, how and where to warp the mouse cursor. It animates the cursor to the location (quickly) so your eyes don’t lose track of it, and only when you start to move your head. It also only animates it to the edge of a circle around the gaze point, so that it doesn’t overshoot and you never have to change directions of your head movement, only fine tune it into position. I’ve done a bunch of pointer speed testing experiments with myself and other participants that suggest this method is faster and more pleasant to use. I encourage you to adopt it, I think you’ll like it.

For increased robustness it actually has two circles, one around the current cursor location and one around the last warp destination, so whether your eyes track the cursor or stay at a fixation point, it won’t trigger unwanted small warps. So small movements are done purely with head tracking."

Discussion:
http://developer.tobii.com/community/forums/topic/clippy-accurate-mouse-control/page/2/#post-7234

Example code (for OS X):
https://github.com/trishume/PolyMouse
https://github.com/trishume/PolyMouse/blob/master/src/animatedMagicPipeline.cpp

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.