Closed sashko closed 6 years ago
Hi sashko,
I really appreciate the effort! Thanks for the contribution! There are a few things that I'm currently pondering, however:
I think this sums up the questions that I've got so far. Let me know what your thoughts are, so we can discuss.
Cheers, Ben
Hi Benjamin,
Thank you for the comment. I do not have any issues discussing technical issues as long as it is a productive and respectful discussion.
I could mirror your question by asking: what can be done by keyboard, mouse and touchpad that cannot be done using a touchscreen with a virtual keyboard? Makes no sense, right? But is probably true (dropping numerous details of course). Touchscreen and touchpads in the real world are different devices that serve different functions and operate differently, e.g touchscreen usually serves as a screen (with appropriate dimensions) and a touchpad is just another pointing device. On many platforms, e.g. Android UI widgets respond differently to touch and click.
I like clean code, but see this rather as a personal preference than an issue.
As I wrote above, this is to be cleaned up.
As I wrote above, the aim is to just "get an idea whether you would be interested in this contribution at all". This code should, of course, be covered by unit tests.
Hi sashko,
absolutely. I think you got me wrong here. My first question really wasn't about the difference of real world devices, nor was the intention to spur any kind of dispute. I did not get the exact intention of this device with regards to the uinput lib. I am well aware that we're talking about different devices that behave differently from a physical perspective. What I wasn't aware of was the fact that, as you mentioned, the Android UI reacts differently to a click vs a touch event, as I assumed this was virtually the same thing. That's exactly what my question was all about ("What can be done with a virtual touch screen that cannot be done with a virtual touch pad?"). I guess the question just came across wrong.
Regarding your second point, to a certain extent this surely is personal preference, but it also makes things easier to reason about. If I see this code for the first time and have never done any work on the lib, it's easier to grasp a named constant than a numeric value, just like a good variable or parameter name can make all the difference in other places.
I am interested in any contribution and value the time spent on this code very much. It would be great to get some additional functionality in here. So go ahead! I canceled the review for now, as you wanted to continue with the implementation and do some cleanup afterwards, correct? For the sake of readability, please do make use of constants instead of straight numeric values though, as it really helps to understand what kind of events you're issuing. That would be appreciated.
Anyway, I hope this clarifies things.
Cheers, Ben
Hi,
I am not exactly sure what you expect me to do from now on. What is the minimum contribution you'd accept? I prefer to do this in few steps, so I don't end up spending 6 hours on implementing and testing the whole functionality and getting my patch rejected.
Hi sashko,
there are currently three minimum requirements from my perspective:
Please integrate those three changes , so I can merge the patch.
Cheers, Ben
I would like to make clear that my aim is to clean this up and refactor some of the existing code to make it more clean and generic.
At the moment I would simply like to get an idea whether you would be interested in this contribution at all, so I know if I should spend any more time on this.
Thank you.