Hey Synaptics, Can You Please Stop Polling
randomascii.wordpress.com
randomascii.wordpress.com
Honestly, a generic trackpad driver that suppliers 2-finger scrolling, 2/3 finger mouse button emulation, and _maybe_ pinch-to-zoom would be all I want. If someone put in some plugin interface with an API so everyone could add the additional magic, it would help people with more complex needs. I'd love to kick synaptics to the curb. They've had decades to write a driver for the only thing they're known for, and yet still can't seem to handle it.
On my laptop, a generic “HID-compliant touch pad” driver, made by Microsoft, does all you that including zoom. No third-party software needed, just Windows 10.
Not all touchpads are compatible, but it already works for many Win10 laptops. Mine is Acer BTW, with some Elan touchad.
https://arstechnica.com/gadgets/2016/10/pc-oems-ditch-the-cu...
Synaptics Windows driver: "You want to hold down control to select some files? OK, now you can't move the mouse. You're welcome."
I had SynTP.sys bluescreens with a Clevo laptop, turns out Clevo hook the driver with their Control Centre software and Windows reports that the touchpad driver is causing the problem, rather than the hotkey filter from Clevo [1].
[1] http://forum.notebookreview.com/threads/synaptics-causes-bso...
I'd still suspect synaptics, as it's probably not checking its input properly. As no other device has problems with this.
I made a ultra-idle setup which generated only 10-20 interrupts per second. That was, until you even dared to touch the synaptics touchpad, then it shot up to ~500 rendering all the other efforts useless.
On windows, if you have a logitech gaming mouse, you can set the polling rate. The default USB is 125Hz IIRC, on my mouse you can up it up to 1000Hz. For gaming it helps reduce input lag as much as possible since 125Hz is 8ms of input lag. For desktop usage, about 125Hz works fine.
For what it's worth, on my 120Hz screen, I can tell a difference between 125Hz and 250Hz polling rates, from 500Hz upwards I think I can tell but it might be placebo.
For position, as reported to the OS: what use would actually need a report every 2 milliseconds? Intuitively, I'd think that motions that matter wouldn't need that many datapoints to reliably differentiate.
Source: I occasionally work with touchscreens, many of which experienced the same issue in early devices.
For the small minority of the population that spends a large amount of time in front of computers and makes their income from computers (programmers, digital artists) they almost all use Macs.
While more of them do use Macs, it's certainly not true that "almost all" use Macs. They are still a minority.
https://insights.stackoverflow.com/survey/2017#technology-pl...
Lots of Macs. Lots and lots of Macs.
I'm sure it varies by industry obviously. I'm sure there are industries where you won't see a lot of Macs in developers' hands.
I'm taking issue with "almost always," that's absurd. If you look at actual surveys [1] Windows wins by a large margin.
But hey, stock photos, soooooo.... Yeah!
LAMP wouldn't be a well know acronym and .NET wouldn't be a robust and widely used dev environment if everyone was using Macs. I've been programming professionally for two decades and I've (happily) either used Linux or Windows for the entire time, never touched a Mac in my life. Of course, I am in enterprise software, because it pays the bills, not because it's cool. I'm much too old to try to be cool.
(People giving talks at conferences are trying to impress an audience. Same with stock images. Flashy laptops, of course, are impressive and noticeable and give the image of "professional.")
When you get a chance, check out the page you linked to. It definitely backs up my anecdotal observation with solid numbers. Looks like about 26% of developers (or at least Stack Overflow users) use macOS.
Given a rough estimate of ~18mil software developers in the world[1] this gives use a rough estimate of nearly ~5mil developers using Macs.
So that's why I found it interesting to hear a developer say, "I don't know any programmers that use Macs." There are... a lot of them.
But, as you said, you've sequestered yourself in a fairly narrow niche throughout your career so it's not surprising. I'm sure there are web developers out there who literally don't know anybody that uses Windows because they've stuck to their own niches as well. Although, I work in enterprise software and my whole team is on Macs, so it's not even like you need to look outside your niche.
LAMP wouldn't be a well know acronym and .NET wouldn't be
a robust and widely used dev environment if everyone was
using Macs.
LAMP is a bit of a nightmare on Windows. Been ages since I did it, but the PHP ecosystem made a lot of non-Windows assumptions and things like Imagemagick and file upload handling in general were always kind of a pain. For this reason Macs are popular with the LAMP crowd as well. If I was doing LAMP on Windows I'd use a Linux VM or perhaps the Ubuntu compatability layer that's been added to Win10. "People who give talks at conferences" have almost zero
intersection with "people who program for a living" and
"laptop I use to give presentations"
Not the conferences I follow. All working engineers giving talks. Not TED-style vague pop-sci motivational stuff. Though I'm sure there are conferences like that. Get out of your niche, hit up a conference, meet other developers maybe? Or just check out some presentations online in your field of interest via ConFreaks etc? People giving talks at conferences are trying to impress
an audience. Same with stock images. Flashy laptops, of
course, are impressive and noticeable and give the image
of "professional."
I think I'm being trolled.__________________
[1] https://www.computerworld.com/article/2483690/it-careers/ind...
And the reason IBM PC clones became popular isn't because IBM "let" people clone them, but because the IBM PC was rushed out the door to compete with Apple.
Did you also notice that such a wild claim was made in a busy HN discussion, and the response was not a barrage of down votes and the universality of scorn often reserved for gross inaccuracies and blatant bias?
Are we being tolerant of the commenter?
Or are we tolerant of Apple and favouritism?
I should have split the last two carefully but I'll leave it as is, deliberately.
Are we all just vaguely aware of the existence of a delusion in which we have been deprived of accurate evaluation of Apple, equally as anyone? Does only professional exposure to the market information, save us from a delusion?
Important to also ask, is the delusion that Apple is the preferred professional choice a established popular belief?
Edit: Deleted parenthetical superfluous comments in 1st last paragraphs, only linking continued argument in my profile. I was interested in discussing the possibility of delusions becoming more frequent, even among the least likely to be influenced professions. This intrigues me, and I ponder whether, if you can clearly convince political beliefs, is it possible to engineer a exodus to a Facebook replacement that isn't a tool that can be purposed for political delusion creation? I have become scared to even think about how me could possibly never be able to tell what the truth is around us.
Ideally, drivers are open-source, but Apple has found that centralization is still a noticeably workable compromise.
Unfortunately for Apple, that quickly falls apart when they don't support modern features like Vulkan...
I see this as a poignant example that closed-source drivers are just a bad idea.
Eff those enhancements, kill that process and remove it from startup. This is not the drive per se, it's just some stupid "helper app"
Shimming: https://technet.microsoft.com/en-us/library/dd837644(v=ws.10... (most likely making the offending function being called repeatedly return a mock value)
[Problem fixes]
- Fixed an issue where Touchpad Driver might cause high cpu usage of
"WmiPrvSE.exe".
[0] https://pcsupport.lenovo.com/ch/en/products/LAPTOPS-AND-NETB...It's just another excuse for shoddy quality.
Shim seems to mean to build:
>a small library that transparently intercepts API calls and changes the arguments passed, handles the operation itself, or redirects the operation elsewhere
It is a term adopted here because the "shim" in this case is a small simple thing (driver) sitting between two other components to fix a problem. That's a simpler way of looking at a real life shim: a small simple thing stuck between two other things to solve a problem.
Same technique, though for different purposes. Or you could say that shimming is a special case of advising.
It's possible that is happening, indeed, I suspect it's likely. The Microsoft developer "Orange" who the blog poster linked to is almost certainly Gov Maharaj (ORANGE),[1] a very prominent member of the Windows application compatibility team who has earned enough influence internally to be able to lean on hardware vendors like Synaptics through the hardware compatibility and partner ecosystem teams.
I used to work at Microsoft and saw Gov in action on internal email lists for people running daily Windows builds. He probably answered about a quarter to half of all the "this program is broken in this build!" emails.
You can see Gov (and perhaps be surprised by his technical chops) on the MSDN "Defrag Show" PC troubleshooting video series. [2]
[1] Origin of the name "Orange": https://blogs.msdn.microsoft.com/oldnewthing/20081021-00/?p=...
A polling query is particularly tragic in the case of Win32_Process, since Win32_ProcessStartTrace does the same thing without polling.
So yeah, I think you can get process creation notifications without polling. Reference:
If it is for per-process trackpad preferences, couldn't it just query for the current foreground process at the time of a touchstart event?
It's glorious (lousy software continues to work while Microsoft is able to continue improving the OS) and terrible (software developers who are updating their software get shims applied and this complicates development, hides bugs, etc.
This is more commonly used for bug-for-bug backwards compatibility: if there's a a third-party application that was incorrectly using some Windows API which has been fixed in a newer version, and the fix breaks the application, MS might shim that version of the application with a call to the older version of the function or even a new piece of code that emulates the desired behavior.
(Non-Windows users might recognize this as the same basic technical approach as LD_PRELOAD / DYLD_INSERT_LIBRARIES, or a little more generically, symbol versioning.)
Basically, Windows' value proposition is broad hardware and software compatibility, and it will bend over backwards to make that happen, despite a developer's best efforts.
In my case, CSS is the culprit because the same page does this on Chrome as well.
[1] https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XPCOM/...