jahnf / Projecteur

Linux Desktop Application for the Logitech Spotlight device (and similar devices) - Digital Laser Pointer
MIT License
379 stars 33 forks source link

Pointer mode (Zoom) changes on double click (same behavior as of official software) #54

Closed mayanksuman closed 4 years ago

mayanksuman commented 4 years ago

The Zoom is toggled if user double tap the pointer (top most) button (within 300ms; can be changed as it is part of Setting).

A major redesign of events handling has occurred. As it was necessary that the double click (and associated two clicks) events should not be passed to presentation so projecteur now grabs the input from SpotLight device. However, all other events (except Mouse Click) is passed again to the system by using uinput interface. The current redesign can help in giving solution to #43 without using a custom bash script.

Double Click is not passed to system rather used for changing the mode of presenter (toggling Zoom Setting). This is same behaviour as official software.

Further Work: To introduce the third mode (Digital Laser) and additionally the provision for different options/setting for each of the mode.

jahnf commented 4 years ago

Thanks for the pull request. :+1: We can also reuse grabbing the device for key assignment later (later == please keep pull requests small focused on one feature/fix)

While the idea of predefined spotlight settings (you call it pointer modes) is good, I don't necessarily want to do the same as the official software - why just copy everything?

Code Review follows probably tonight. (Central European Time)

mayanksuman commented 4 years ago

A clarification: predefined spotlight settings does not mean hardcoded. I want to provide user the option that they can define three different set of settings -- Highlight, SpotLight(Zoom) and Digital Laser. The mode can customized by user.

No, We are not copying everything. The idea of customized key event on Next/Back press is unique to Projecteur. However, I do not want that the users of Projecteur feel limited when compared to their experience over Win/Mac.

In a way, Projecteur will provide unique feature that is not present in official software.

mayanksuman commented 4 years ago

Thanks for quick review. I will be able to resolve them in the evening (IST).

jahnf commented 4 years ago

I'd rather would merge your changes to a feature branch and then after all bugs and major issues are resolved merge it to develop . Even though it's develop I'd like it as stable as possible - and I am most likely will overlook an issue like the memory leak or sth else in a code review. I will create a feature branch , could you then please create a pull request into that new branch?

jahnf commented 4 years ago

Please make the pull request for feature/pointer-mode-uinput-dev instead of develop.

mayanksuman commented 4 years ago

Ok, I am making a pull request to feature/pointer-mode-uinput-dev.