daleathan / key-mon

A screencast utility that displays your keyboard and mouse status | Automatically exported from
https://code.google.com/archive/p/key-mon/
Apache License 2.0
0 stars 0 forks source link

Add an option to have a circle around mouse's cursor #95

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
Hi everyone,

First of all THANKS a lot indeed for all your efforts to improve Key-mon!
I *really* appreciate your magnificent work on it.

To get to the point, I would like to propose a new feature for Key-mon.
More precisely,  the option to highlight the mouse's cursor with a Circle.
It is very handy for your viewers to keep track of your mouse cursor during the 
video.
For example, on YouTube, it is useful whenever the video doesn't have a good 
resolution.

On Windows, with Camstudio (http://camstudio.org/) you can choose: the size of 
this circle, its trasnparence and colour.
These options applies to both the left and the right click.
Actually, this circle is NOT shown when you record your video in order not to 
distract you.
On the contrary, it is displayed afterwards, when you replay it (e.g. through 
Vlc Player).

Needless to say, on Windows most softwares to record videos have this feature 
(BB FlashBack and so on).
E.g. Camtasia 7.1 has many cursor effects. There is a video for these cursor 
effects at http://www.techsmith.com/camtasia/features/win/

On Linux, unfortunately, RecordMyDesktop doesn't offer this option.

On the other hand, I have read it is possible with Compiz where there is a  
plugin called "Show Mouse".
This plugin  shows a sort of "circle" around the mouse 
(http://wiki.compiz.org/Plugins/Showmouse). 
Here is a video: http://www.youtube.com/watch?v=QPuYvOCh7LI&feature=related

With Blender I have read it is possible as well: 
http://blenderartists.org/forum/showthread.php?104116-Yellow-circle-around-curso
r

RecordItNow has kind of this option as well 
(http://kde-apps.org/content/show.php/RecordItNow?content=114610).
Unfortunately, this last software is no longer developed (and to say more, it 
is a big buggy as well...)

In a nutshell, what I would like to propose as a feature for Key-mon, is the 
option to select a cicle for your mouse's cursor; its transparence, size and 
colour.

In short, whenever you click with the right-left button of your mouse this 
circle is shown under the cursor. This should apply both for the right and the 
left click.

To recap, it would be great to have the choice to:
- add an option to have always a circle around your cursor;
- add an option to have a circle (with different colour) when you right-click 
with your mouse;
- add an option to  have a circle (with different colour) when you left-click 
with your mouse.

The best would be to have the option to select its:
- colour;
- size;
- transparence.

Having this circle around the cursor and not only on the windows status monitor 
of Key-mon, in my view, might be beneficial for many people recording video 
tutorials.

Needless to say, you might add an option in the Key-Mon Preferences to disable 
this circle whenever you don't want to use it (for some people it might be 
probably a bit obtrusive).

Best regards (and THANKS again for your work on Key-mon: keep rocking!)

Silvio

Original issue reported on code.google.com by slvgro...@gmail.com on 25 Aug 2011 at 1:12

GoogleCodeExporter commented 8 years ago
This is a little overlap over issue 44, in which visible click is almost the 
same as your second and third options proposes.

Recently, I have thought about coding for this, but never got started. One 
major reason is opacity is not working well when use xmodmgr.

Another detail is how to implement this. Should we change color 
programmatically (rendering in our own code)? or just manipulate SVG?

The former will look clear for having customized color, but later is better for 
unusual style of indication. (A star shape?) For whoever wants to design their 
own indication, SVG is better option, they can just make there own theme. Of 
course, we can always change the color tag in SVG, but I don't really like 
doing that.

For now, I would like simple SVG attached to the theme, key-mon doesn't provide 
any option, it all depends on SVG theme files. They would have consistent 
style. Anyone doesn't like it, they can duplicate the theme and edit SVG. 
(Loading custom theme functionality has already done)

My plan is to make mouse_indicator to load up to 5 SVG, which are for 5 
buttons, respectively. That should be enough.

Just a opinion about using different color for clicks, new viewers would always 
get confused, old might still be. If you don't explain what color means, then 
you probably the only one understands.

Using shape would be a better option, see attached file. Sorry for bad design, 
but you got the idea.

Original comment by livibet...@gmail.com on 25 Aug 2011 at 5:14

Attachments:

GoogleCodeExporter commented 8 years ago
Hi,

Thanks a lot indeed for your fast reply ;-)

> My plan is to make mouse_indicator to load up to 5 SVG, which are for 5 
buttons, respectively. That should be enough.

Great.

Naturally, having the option to change one of these icons with a new one 
similar would be magnificent.
In short, you might draw a new svg icon (with InkScape) and you would add it to 
Key-mon afterwards.

> Just an opinion about using different color for clicks, new viewers would 
always get confused, old might still be.

Sure :-)

Usually, on Windows (that is around 90% of users) the standard colour for the 
circle around the mouse's cursor is a semi-transparent yellow.
Camstudio, BB FlashBack, Camtasia use this colour but of course they allow you 
to change it in case you dont' like it.
For the left-click button, with Camstudio for instance, it is up to the user to 
select the colour to use.

In my opinion, for the right-click it is difficult to confuse your user 
because, generally, after the right-click a new Windows with a Menu appears.

I have recorded a short video with BB FlashBack 
(http://www.bbsoftware.co.uk/BBFlashBack/Home.aspx) by using its free version 
to show these colours.

With BB FlashBack you have three colours:
- yellow for the circle around the mouse-cursor (you can change it);
- red for the ring (not a circle) around the left-cursor (you can not change 
it);
- gray for the ring (not a circle) around the right-cursor (you can not change 
it).

Here is the link to download this .avi video:
http://dl.dropbox.com/u/3095134/MOUSE_CIRCLES-COLOUR.zip

I am not a developer. 
As a result, I don't know which is the best way to go :-(

In conclusion, though, if an user could easily add a new icon to key-mon I am 
confident everyone should be happy :-)

Naturally, the feature to have a circle around your mouse's cursor should be an 
option in Key-mon (that is, NOT mandatory).
Whenever you don't like it or you deem it might confuse your audience you could 
just disable it.

Best regards and THANKS a bunch again for your work!
Keep it up :-)

Silvio

Original comment by slvgro...@gmail.com on 25 Aug 2011 at 6:56

GoogleCodeExporter commented 8 years ago
Thanks for all the research that you did, it's very helpful.
The 'highly visible click' is a problematic feature, so either I drop the 
feature or go the opposite way and make it even better and work on it a bit 
more.

Original comment by sc...@forusers.com on 25 Aug 2011 at 8:19

GoogleCodeExporter commented 8 years ago
@scott, I don't think we should drop the feature, we should enhance it, instead.

(And off-topic @scott, can we do another release?)

Recently, I got a comment [1] about my patch to x11grab of libav/ffmpeg. It's 
same thing about highlight mouse clicks. I was reluctant to add such feature in 
x11grab.

However, highlight mouse position should be more reasonable in recording 
software as Silvio mentioned camstudio does such way. But there is no thumb of 
rules. It's just which way is more problematic-less. Implementing in 
Key-mouse-indicator, you need to render on screen in conventional way, i.e. 
dealing with X (and toolkits), and so far WMs and Compositing Managers have 
already shown me there are some differences between them.

Anyway, I would implement in the way I mentioned above (5 SVG), which gives the 
best flexibility for both users and troubles for developers. I am thinking, we 
(minus me) can even write a simple tool to generate a new set of theme, user 
can specify color code/transparency. The script will replace with those and 
make a new set of theme based on existing one. This way, we don't have to add 
more controls in main code.

I just want to clarify that 5 SVG may also include the mouse position (the 
yellow circle), but I am not too confident that it will work because I feel it 
might intercept mouse clicks. It will require some tests.

Just to post two links in my note about this issue I searched for examples, 
first one is fancy [2], second one is pretty (Flashlight) [3]. This is by no 
means that key-mon would have any of them, just to post here so I can clean up 
my note. Please don't get greedy after you check them out. ;)

Last note, we must all keep in mind that not all people have composition, 
meaning transparency fancy thing is not available (turned on) on every user's 
computer as well as developer's computer (that being me). When designing the 
visible click, it must also look well for whom doesn't have composition (that 
being me again ;-).

[1] 
http://blog.yjl.im/2011/07/follow-mouse-for-x11grab-of-ffmpeg.html#comment-29007
8299
[2] http://www.programurl.com/spotonthemouse.htm
[3] http://www.omnigroup.com/products/omnidazzle/

Original comment by livibet...@gmail.com on 26 Aug 2011 at 2:47

GoogleCodeExporter commented 8 years ago
> I just want to clarify that 5 SVG may also include the mouse position
>(the yellow circle), but I am not too confident that it will work
> because I feel it might intercept mouse clicks. It will require some tests.

I also thought about that. Wanna a quick-and-easy solution? Make the center 
pixel of the "highlight window" completely transparent. In other words, make a 
"hole" in that window, at the mouse position. This will let mouse clicks pass 
through.

But it might still be buggy (what if mouse moves and clicks before the 
highlight window moves? The click will be intercepted). So, yeah, it still 
requires tests.

Original comment by denilsonsa on 26 Aug 2011 at 5:40

GoogleCodeExporter commented 8 years ago
> I also thought about that. Wanna a quick-and-easy solution? Make the center 
pixel of the "highlight window" completely transparent.

I got the same idea, that why I had the SVG above looks like being bitten.

> But it might still be buggy (what if mouse moves and clicks before the 
highlight window moves? The click will be intercepted). So, yeah, it still 
requires tests.

Well, that's easy, we just have a BIGGER HOLE! XD

----

I might start this, it depends how bored I am, I will change the ownership if I 
begin and no other wants to implement this.

Original comment by livibet...@gmail.com on 26 Aug 2011 at 6:03

GoogleCodeExporter commented 8 years ago
Just a quick update about me on this issue, I will not start working on this.

Because I am working on another project, x11grabr, which is a fork of x11grab. 
It's a standalone program, but libav/ffmpeg is needed for encoding.

Here [1] is the first 1/100th step on the new project (meaning not much 
progress), pointer highlight.

[1] http://www.youtube.com/watch?v=_X0pi8ObpMg

Original comment by livibet...@gmail.com on 3 Sep 2011 at 5:33