bkb is a program to control keyboard/mouse with eyes

Applications of eye tracking for accessibility, augmented communication and health care

Re: bkb is a program to control keyboard/mouse with eyes

Postby JeffKang » 14 Jun 2015, 00:45

Nice.
While on the topic of dwell progress, a thought for the future could be some sort of dwell accumulation, where you can return to keep building after you leave.
I'm mentioned in a thread for the GazeSpeaker program, and dwell accumulation is now in there.
viewtopic.php?f=22&t=254&p=1124&hilit=accumulate&sid=ceb818ba18d0602c668d1a8a571d9871#p1124

That's for buttons though.
Dwell accumulation seems more difficult for general magnification and clicking, where the target is not easily known yet.

How I picture it:
There's an invisible large circle around the fixation point, and it's like the spray-paint / airbrush tool of Paint.

Let's say there's a button in the top left corner.
You look in the top left in the general area of the button, and the progress builds.
The invisible circle "spray paints" the area, and the invisible paint gets thicker the longer it stays in 1 spot.

If you look completely away from that top left area, you start building from the beginning at the new location (top left area still has memory and paint though).

If you look away, and come back to the exact same area, the invisible circle overlaps with some of the painted area.

Where the progress bar resumes depends on how much previous paint is within the invisible circle.

Once an area within the invisible circle has achieved a sufficient amount of paint, it will magnify or click at the current fixation point.

If you come back to almost the exact top left spot, there's already a lot of paint, and thus, the progress bar will almost be done.

If you come back to a little lower right of the previous top left area, and 50% of the area hasn't been painted yet, the progress bar will resume at a lower point than directly looking at and painting the previous top left area.
Though, it will still be further ahead than had you started fixating and spray painting in a completely new area.

Yea.. I don't know how it would work lol.
JeffKang
 
Posts: 129
Joined: 15 Feb 2014, 23:59

Re: bkb is a program to control keyboard/mouse with eyes

Postby OptiKey_Julius » 01 Jul 2015, 13:04

If it helps I use the following method for point selection (mouse action) within OptiKey...

Points are tested to check for a sequence of adjacent points which all fall within a "lock-on" radius where the centre point is calculated from the sequence of points, and that they cover a minimum amount of time (the "lock-on period"). If those criteria are met then the user has kept their focus within an acceptable area of the mid point of a circle and a fixation can begin. The fixation radius then changes to the "fixation radius", which is bigger and I then test to see if there is a sequence of adjacent points that are all within the "fixation radius" and cover a minimum amount of time (the "fixation period"). If that is true then a selection can occur at the centre point. If ANY points stray outside of either area (during lock-on or selection) then I discard the whole thing and the user can start again. The tricky bit was coming up with radii where the "lock-on" area is small enough to make the centre point accurate, but large enough to make it possible to keep all points within the circle for X ms. After that I widen the circle to make it easier to complete the fixation.

I can take you through the code if that would help you - it's here and uses a bit of Rx: https://github.com/JuliusSweetland/Opti ... nSource.cs
Julius

OptiKey - full computer control & speech with your eyes
Email: optikeyfeedback@gmail.com
Website: http://www.optikey.org
Demo video: https://www.youtube.com/watch?v=Cgnamj5SA3Y
Full tour video: https://www.youtube.com/watch?v=zMod7oExCbY
User avatar
OptiKey_Julius
 
Posts: 16
Joined: 04 Mar 2014, 13:22

Re: bkb is a program to control keyboard/mouse with eyes

Postby MastaLomaster » 14 Jul 2015, 22:41

To Jeff:
JeffKang wrote:While on the topic of dwell progress, a thought for the future could be some sort of dwell accumulation, where you can return to keep building after you leave.


I thought: why do you need this?
The only reason I see is: the device cannot precisely detect the point you stare at.

The same happens with me.

So I use the following approaches:

1. Make bigger buttons.
Of course, if these buttons belong to your program, if you can manage them. In the latest build I've made the toolbar buttons customizable (in terms of their count/size).

2. Magnify the area with the button you need
Yes, if the button is small, and you cannot change its size, magnify the part of the screen.
(Note that the keyboard by default magnifies its parts now).

3. Smooth the cursor movements
The part that is the most math-related.
If your dwell point jumps from one button to another and back - you can filter and smooth its movements. This however might introduce some delays. So it's always a compromise between smothless and responsibility.
As for now I use the dumb "moving average" method which is however smart enough for allowing fast movements from one part of the screen to another.

Shortly, I think that these 3 methods is enough now. The dwell accumulation will require making changes in the "basement" of the program, and would not give much advantages. Sorry, I have to say "no".
MastaLomaster
 
Posts: 37
Joined: 03 Mar 2014, 16:35

Re: bkb is a program to control keyboard/mouse with eyes

Postby MastaLomaster » 14 Jul 2015, 22:56

To Julius:
OptiKey_Julius wrote:If it helps I use the following method for point selection (mouse action) within OptiKey...

Points are tested to check for a sequence of adjacent points which all fall within a "lock-on" radius where the centre point is calculated...


The idea behind your method seems to be similar to what the other programmers do.
In particular, your "fixation radius" is called gDISPERSION_LIMIT in my program;
the "fixation period" is called FIXATION_LIMIT.

Thank you for sharing this, but I consider the fixation detection as solved in my program.
What I really like in your program is that it's more user friendly. And this is something that lays behind the algorithms and coding.

Thank you.
MastaLomaster
 
Posts: 37
Joined: 03 Mar 2014, 16:35

Re: bkb is a program to control keyboard/mouse with eyes

Postby MastaLomaster » 14 Jul 2015, 23:22

Video in Russian about the person with the ALS who uses the bkb program: https://youtu.be/mMw2o6O0jRk
MastaLomaster
 
Posts: 37
Joined: 03 Mar 2014, 16:35

Re: bkb is a program to control keyboard/mouse with eyes

Postby juanvic5185 » 23 Nov 2016, 07:53

Hello! I am very interested to know how this keyboard function works. I would like to map only a few keys at a time. For example:
If the person is fixes the gaze to the right corner of the screen then the right mouse or key button takes action. The same happens if the person gazes to the left then the left arrow key will be clicked. Could this be done with the program?
juanvic5185
 
Posts: 1
Joined: 23 Nov 2016, 05:48

Previous

Return to Accessibility & Health Care



cron