A kernel update broke my stylus
davidrevoy.com
davidrevoy.com
- graphics tablet digitisers generally are not and don't include touch digitisers
- tablets are not touch screens
- a stylus (tip) isn't a button
- a stylus can have buttons
By convention, stylus tip interactions are "tools", which seems to be what Linux' BTN_TOOL_* codes are meant to mean. A button on a stylus should never be (directly) translated to a tool -- like how the ~5th button on a mouse is `BTN_EXTRA`, not `BTN_MOUSE`. In this particular case it looks like the thinking is: the device has 2 event codes (which we know as the stylus tip and the barrel button) and it's a stylus^wdigitiser, so map device[0] to `BTN_DIGI` and device[1] to `BTN_DIGI + 1`.
editendum: the thing about the BTN_EXTRA doesn't really map... The "digitiser" event codes are being treated in the same way as mouse event codes (device[i] => event[CLASS + i]). The issue is really that the barrel buttons have no (dedicated) event codes.
The missing Invert usage caused Linux to report Eraser as regular tip touch to the userspace, which was not intended but caused by an oversight in the kernel code. This, together with a bunch of hacks (Digimend and X11 tweaks), allowed OP to map that button to a right click.
Now, with the kernel logic fixed, these hacks do not work anymore. This is a case of xkcd://1172. The userspace solution is to remap BTN_TOOL_RUBBER to a right click for the weird stylus instead.
[-1] I don't remember if it's also a uclogic controller?
I think every remote job that sends employees a laptop should also be sending them a wacom tablet.
I'm pretty sure it was a tooling issue rather than the tablet itself, and wouldn't mind taking another punt at it.
>I'm pretty sure it was a tooling issue
Depends on whether you want shape/diagram recognition or not. If the only thing you need is free-form drawing, you can use just about anything.
I will try it on linux later. Hopefully it will work there.
My initial gripe is that there are three different toolbars, all separated from each other. I want to change tools and their settings quickly, not move my hand across the entire screen. For example, select brush tool on bottom toolbar, select size on the left toolbar, then select color on the top toolbar.
When I was a prof, I used the Wacom on linux with OpenBoard [1] to teach online for two years of the pandemic. My work gave me a Macbooks, but OpenBoard has some weird bugs on MacOS. So I am using GoodNotes, which is very annoying, but the best of what I tried. In another life, I would dedicate a few years of my life writing a decent note taking app.
[1] https://github.com/OpenBoard-org/OpenBoard
Edit: Besides the software, I think it takes a few weeks of writing on it daily where it becomes natural.
I have a Wacom Intuos S.
Sample size 1, but I haven't been inconvenienced by its size, even while handwriting or drawing at Krita.
On one hand, I don't think a thought like "this would be easier with a bigger tablet" has ever crossed my mind; but on the other hand, it's also true that I haven't tried anything bigger, so my only point of comparison is tablet vs mouse or tablet vs whiteboard/notebook.
The surface of the tablet is mapped to your screen in terms of input. The Intuos M is just a bit smaller than 13 inch laptop screens. So what you see on the screen is roughly the same size as what you draw with your hand. Additionally, while writing at normal pen/paper size, my hand moves comfortably from the left of the tablet to the right as I write across the whole screen.
If I had to use a Intuos S, then I imagine, I would have to write a lot smaller with my hand, but then have it appear as bigger on the screen. But my hand would not move a lot, and making tiny characters would tire my hand out faster. I think my brain would get used to it, but it will still be a jump.
Only in absolute mode though. If you switch it to relative mode though, then it's a bit more flexible.
Contour drawing is not taught in primary education, and it really should be: it generalizes on how you learned to write by learning some muscle memory and then playing it back to make a mark. Nobody who can write should be going around saying "I'm untalented at art, I can't even draw a straight line".
Best thing is that they have a plugin architecture that can do some basic customization.
It's so annoying dealing with a separate tablet just for the sake of writing. Why not a tablet PC or such?
Tablets need extra space only when replacing the embedded touchpads or trackpoints of laptops.
For someone who uses a desktop or who prefers mice to touchpads, a tablet does not need any extra space, it just replaces the mouse and the mouse pad with the stylus and the tablet.
There are big tablets too, but for replacing a mouse and for simple drawings a small tablet like Wacom Intuos S is perfect.
For an office job I'd take the external tablet, since my laptop would likely be plugged in all the time.
You could also keep it permanently in tablet mode and use an external monitor, mouse, and keyboard. Just don't underestimate the mode change.
* only glossy screens
* screen with touch layer look worse than non-touch counterparts
* poor to very poor software support
Not to mention the hefty price tag.
I'm using a "cheap" one (I think it was like 80 EUR), and it's mind blowing how convenient it is despite its small size. Now trying to use a physical whiteboard for brainstorming, feels the same way as trying to use pen and paper for programming: technically doable, but I curse internally because the inconvenience.
Just being able to select stuff and move it around, or undo with a quick Ctrl+Z, or rotate things, makes all the difference.
Sure, I love using a paper notebook for my notes, and the feel of writing with a pencil on paper is really nice; and I would use it for drawing quick stuff if I don't have anything else at hand. But if I think I'm going to be erasing a lot, or that I will be doing the kind of stuff that is usually done with a whiteboard, a drawing tablet is (to me) a vastly superior option.
There are also some online ones, although I'm not sure how well they work in a multi-editor situation.
Might not be flexible enough for a really open brainstorming, but enough for stuff like figuring out domain concepts.
PlantUML - quick and simple text representation of diagrams, really easy to iterate on and see changes reflected live.
reveal.js - Quick and simple slide creation, I can reorder slides with ease, tweak wording, don't waste time faffing about with fonts, text box sizing etc. All reflected live in a browser.
This can be done by a script automatically executed at power-on, which may also choose how the buttons should behave, if you do not like the defaults.
For instance, for my Wacom stylus I set the tip to be left click, the first button to be right click and the second button to be double left click. Actually doing double click with the stylus buttons is more inconvenient, so it is more comfortable to map the single click on some button as a double click.
My kids even prefer that with a big (and pretty old) wacom tablet.
(P.S.: I apologize for other unanswered comments in the thread; I can't reply anymore because of how many days have passed since.)
I once got an bigger "upgrade" for my small wacom tablet, but it only collected dust. It used too much space on the desk to always keep it ready, and the larger active area meant too much travel distance when using the pen as a mouse.
And concerning Wacom, they were the first to have someone working on Linux drivers, and the only one for a long time, back when tablets were new. Not sure how it is today.
Wacom still has great Linux support, but now there's OpenTabletDriver which supports many other tablets [1].
In comparison with a mouse, a stylus is much more comfortable, much faster and more precise.
We have been trialing using it to draw graphviz graphs for discussion and it has been working very well both as an in meeting tool and as a reference later on.
Would be interested to go the Wacom route but my my handwriting is very bad and only getting worse
The impetus was from wanting to be able to practice digital art in free time regardless of where I am, but it has ended up being extremely convenient as anything can be quickly drawn up or written, easily shared with everyone else and does is trivially retained.
What laptop do you recommend with S Pen support?
I had also tried the regular Galaxy Book 3 360 for a day, but I felt the screen was a bit small and not as sharp as I'd like.
That said, since EMR pens also work in-place of S pens, I'd guess that S pens will work on any device that supports EMR pens (minus the bluetooth air gestures, those aren't available on windows laptops). For me the value was the 'ecosystem' with my other devices which also happen to be from Samsung, including the ability to share the stylus between everything.
Give them something with a screen instead (e.g. cintiq knock-offs, ipads, samsung tablet, surface) or a webcam mounted to record a whiteboard/blackboard or mounted overhead to record a sheet of paper. That might also help to get better audio at the same time.
Side-note: When remote meetings became necessary in recent years, lots of software/hardware solutions were improvised, not great, but workable and with a hope that better solutions will become available later. Somehow that did not happen and people are still "scratching unintelligible diagrams/equations with their mouse" because there is no standard, widely available software and hardware that makes this easy.
In VR, you can point, draw, and share virtual desktops.
Otherwise, no one knows what the hell anyone is talking about, and perhaps get the wrong impression about one another.
I strongly disagree with RTO as ass-in-seat-mentality for knowledge work jobs that don't design or manufacture physical items. I've been part of fully WFH companies since ~2000 spanning up to 8 time zones. The quality of discussions requires the ubiquity of tools for expressiveness.
[0] https://lore.kernel.org/linux-input/nycvar.YFH.7.76.23110120... [1] https://www.kernel.org/doc/html/v6.6/admin-guide/reporting-r...
[0] https://www.davidrevoy.com/article995/how-a-kernel-update-br...
Does he not realize how poor of a user experience it is to interact with mailing lists compared to actual bug trackers?
Saying "it's email" means nothing. Just because you announce the name of the tool doesn't make it the right tool.
And what do you mean by unsearchable? There is a search box right there for anyone to use: https://lore.kernel.org/lkml/ Long time subscribers to the list would do a local search from within their own email program, of course.
How do you search for existence bug reports to see if someone else has hit the issue? How do you subscribe to an issue to know if progress is being made on it? How do you keep track of all of the issues. Why is it the user's job to traige bugs to the right person? Microsoft doesn't reccomend you to find the email of someone on the NTFS team if you find a bug in Window's handling of NTFS.
The part about writing and sending the initial is passable using email, but everything else is terrible.
This quite tech-savvy (based on the blog post) user
- Was told how to send the email: https://social.kernel.org/notice/AbN55QfONFCPweYq7E
- Read and attempted to comply with those instructions: https://framapiaf.org/@davidrevoy/111336814871081424
- Still ended up being told they did it wrong: https://lore.kernel.org/linux-input/ZULw6AcBaD6z2UZA@debian....
Edit: Actually, they might have remembered to CC the mailing list, but since they use Proton Mail it probably sent the email encrypted. Don't send encrypted email to mailing lists.
Ideally, mailing lists would make some effort to keep the plain text content in HTML emails rather than just throw it away. If lynx can render full pages in a console, surely we can degrade HTML down to plain-text without too much effort.
Rejecting people who have not taken the time to setup their email client is tradition, but not very helpful.
It trades unhelpfulness between the new submitter and the existing list members; HTML emails are blocked for a reason.
You track the issue by waiting for replies to your email. With a bug tracking system you would wait for replies to the bug report in exactly the same way.
It is not the user’s _job_ to triage bug reports or direct them to the right person, but it is _helpful_ if they can take a minute to peruse the list of kernel modules and find out who the maintainer of the most relevant module is. By adding that person to the CC list of your email, you ensure that they will notice your email right away.
Microsoft has hired hundreds of people to serve as liaison between customers who pay for tech support and the developers who write the code. There’s no way for you to break through that barrier and talk to an NTFS developer directly because Microsoft prefers it that way. The Linux kernel developers cannot afford and do not desire to have that level of bureaucracy in between them and the world.
Not all bugs are sent to a mailing list. From what I can tell it is reccomended that you email the maintainer directly. You can't search for those direct emails. Also I'm not sure that search even is for the place bugs are reported, nor am I confident that it would do a quality search instead of just grepping emails with no ranking.
>You track the issue by waiting for replies to your email.
If you did not make the initial report there isn't a way to get a notification when there is a reply to it.
>There’s no way for you to break through that barrier and talk to an NTFS developer directly
You can just email them. There is no barrier that prevents your email to them or prevent them from talking to you directly.
>The Linux kernel developers cannot afford
The Linux foundation made >240M in revenue last year. They can afford people to triage bugs.
> If you did not make the initial report there isn't a way to get a notification when there is a reply to it.
Sure there is. Send an email and ask for a status update. Be polite about it, and ask for specific information. If you suspect that the work was done and it was committed, ask whose tree it is in. From there you can follow the commit as it is merged into trees owned by people higher and higher in the community, until Linus himself merges it into the next release.
>> There’s no way for you to break through that barrier and talk to an NTFS developer directly
> You can just email them. There is no barrier that prevents your email to them or prevent them from talking to you directly.
If you know who they are, sure. What are you going to do, go on linkedin and hope you get lucky?
> The Linux foundation made >240M in revenue last year. They can afford people to triage bugs.
The Linux Foundation does not run the development of the Linux kernel. They provide support services (like the kernel.org webpage where you can search the mailing lists), legal services, advertising, conferences, etc. The actual development of the kernel is done by volunteers, many of them paid to work on the kernel by their employer.
If you want bug triage or other support services, you should pay for it. Contact Red Hat or whoever and they’ll get you started.
This sucks compared to something like Github where you can just visit an issue or subscribe to it. People don't want to have to SEND AN EMAIL to see the status of something.
>The Linux Foundation does not run the development of the Linux kernel.
But it does fund some of its development.
>> Sure there is. Send an email and ask for a status update. Be polite about it, and ask for specific information. If you suspect that the work was done and it was committed, ask whose tree it is in. From there you can follow the commit as it is merged into trees owned by people higher and higher in the community, until Linus himself merges it into the next release.
> This sucks compared to something like Github where you can just visit an issue or subscribe to it. People don't want to have to SEND AN EMAIL to see the status of something.
Which do you want? Notifications or to visit a website without bothering anybody? If you want a notification, then send an email or just subscribe to the list. You can have your email program or email server move all the email from the list to a folder, and mark everything not in the thread(s) you care about as read if you want, just so that you don’t have to waste your time looking at the emails you don’t care about. Or you could talk to a person. Is that really such an unthinkable action to take?
If you want to visit a website, then just visit the mailing list’s website (<https://lore.kernel.org/lkml/>). Every thread has a page there, such as <https://lore.kernel.org/linux-input/557f1553-4e85-4988-83e4-...>.
You can also mirror the content of the mailing list in several ways, such as by cloning a git repository or downloading mbox files, or by using an NNTP server. See <https://lore.kernel.org/linux-input/_/text/mirror/> for instructions. Feel free to wire that up to any type of automation you want. Make your pager go off any time anyone mentions your pet bug. Make it dim your lights, turn on the RGB LEDs and the projector, and play “Bad to the Bone” at the loudest possible volume when your bug is fixed. Have fun with it!
>> The Linux Foundation does not run the development of the Linux kernel.
> But it does fund some of its development.
All it does is pay people to work on the kernel, it doesn’t mandate how that is done or what gets done. If you want someone to hold your hand so that you don’t have to subscribe to a mailing list, there are several support companies that will happily take your money. Or if you think a lot of people want a bug tracker so that they don’t ever have to talk to another human being, maybe you should provide that service yourself.
This overly complicated. I consider myself more technical than 99% of people and even I couldn't tell you how to do this. How do you except a normal person to be able to figure this out. Do you think your parents could figure this out if they encountered a kernel bug?
>Or if you think a lot of people want a bug tracker so that they don’t ever have to talk to another human being, maybe you should provide that service yourself.
There are plenty of source forges which offer this. Look at what KDE or freedesktop have done with hosting their own.
You don’t even know how to filter the email you get? That is extremely sad. And yes, my parents do know how to set up their own email filters. On the other hand they would probably call me or one of my brothers if they encountered a kernel bug; free family tech support beats troubleshooting any day of the week :P
> There are plenty of source forges which offer this. Look at what KDE or freedesktop have done with hosting their own.
That’s not what I meant. Most kernel developers have no interest in bug trackers, self–hosted or otherwise. If you think that there are enough people who do, you could act as an intermediary by running one yourself and charging for access.
Which is why you hire other people to do it.
And when you have setup your email client, it beats github issues in time efficiency any day.
Contrast that with the Github or Bugzilla experience: make an account, click "report issue", follow the wizard which asks me to provide all the information I need. I am automatically subscribed, and will receive updates via email.
The whole report-via-email might work for experienced kernel developers, but for a regular user trying to just report a single bug it is way too much of a hassle. If I ever encounter a kernel bug, I would go out of my way to avoid directly reporting it upstream - I'd just file it at my distro and let the maintainer deal with the upstream reporting.
> I'd just file it at my distro and let the maintainer deal with the upstream reporting.
They even ask you to do that _in the instructions_ that you haven’t read due to laziness.
You'd be hard-pressed to call me "lazy", to be honest. I'm more than happy to dig into the kernel source to determine the cause of such a regression because I actually like doing that kind of thing. I've submitted several single-digit-line patches to large projects to solve exactly this kind of issue.
Spending a Saturday morning trying to figure out a kernel bug is quite enjoyable. Spending a Saturday afternoon trying to figure out how to submit a bug report or patch is not - especially when it is literally a 5-minute process for the vast majority of other software projects. If I have to deal with that much bureaucracy, I'll just keep my patch to myself.
Whereas Excel had the bug with date format detection that the entire world had to work around with no chance of getting it fixed. The genomics field had to change the name of a gene because even though they all knew it and must have had some population of people that had the skills to fix it, just couldn't until Microsoft got sufficiently embarassed by it after decades (https://gizmodo.com/microsoft-fixes-excel-feature-that-force...)
Got my first GNU/Linux in 1995 with Slackware 2.0, kernel 1.0.9, got fed up by the time Windows 7 got released, still own a Asus 1215B Netbook with Ubuntu, with its own share of kernel updates breaking graphics and wlan.
Anything else, happy with Samsung, LG, Nokia, Apple, Google and Microsoft overlords.
No point running a bleeding edge distro and then having a sook when things break. The correct procedure is to file a bug report, downgrade to the last known kernel that worked correctly, and wait for a patched kernel to appear in updates. Or run a stable distro if it's such a problem. I don't get why "bleeding edge Linux distro has breakage" is such exciting news for HN. This is pretty much a non-story.
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin...
$ modinfo -p usbhid | grep quirks
quirks:Add/modify USB HID quirks by specifying quirks=vendorID:productID:quirks where vendorID, productID, and quirks are all in 0x-prefixed hex (array of charp)windows will always stay broken.
It is also the only one using GNU/Linux, the TV/WebOS and Android/Linux devices, alongside Windows, just work.
If a 'fix' broke something (and it's not for something like a major security issue), then it is customary to revert the fix and go back to the drawing board
I can see that this is a complicated situation and OP was a special case that had not been affected by acccident, but those are excuses
If you upgrade your kernel and you don't have any out of tree stuff, by policy nothing should break, orherwise it's the kernel's problem.
I see what you did there
That being said, I find that people tend to take the no regression rule pretty seriously, if you bring a valid complaint. It makes good sense. We don't want to give people a reason to stay on old kernels even more than they do today (this post written on an ancient Android kernel, chock full of out of tree drivers). We can at least save people from pain when it comes to in-tree drivers.
I think we really all benefit from that policy. Even if it sometimes keeps some less than perfect workarounds in the code
One user asks "why is my right click an eraser now", another asks "why is my eraser a right click on Linux". Which one is right?
To resolve this, the devs could've added an easy setting somewhere to control this behaviour, but I still think this can be considered a reasonable bugfix as the manufacturer decided on this stupid design. Linux drivers used to hack around that, but that's a classic XKCD 1172 problem.
I think most of your problem is coming from using Rocky Linux, it is much easier to find support on Ubuntu derivatives for tools made by the community in general.
No dnf package for Rocky Linux for input-remapper
Tried to build it manually and bailed out with error:
error: can't find Rust compiler
That is usually the beginning of rabbit-hole.
The other-side of the coin is that if your using Linux, you should expect that such things happen without your desire. And that if you wish for the previous feature you'll have to nose-dive in to if you want to fix or just revert back to the previous version. You shouldn't, but here we are.
At the risk of downvotes, I would also say you shouldn't really need to update the kernel either. Unless there is really a feature required, or extreme-security vulnerability of your current version, exclude it.
That was the past-beauty of Linux, you didn't need to be on $latest; that was Microsoft's realm, always requiring updates. If it worked you left it be for this exact reason. Every day I look at my iPhone and everyday there's a batch of updates for my apps sometimes twice on the same day for the same app and I don't use many.
The current fearing update culture we live in is terrible.
/vent
Why?
If using the second button as a eraser is the de-facto feature, then it's likely it's going to be implemented the same everywhere else. Or could simply be the maintainer doesn't like his art work, a sadist and changed for the sake of pure evil.
Either way you can't expect anything to stay as you like it if it's free. It's why forks/distributions exist.
[0]Or what at least some Linux evangelists want it to become
Linux is just a kernel to create an operating system in the way the creator wants it to be. You either hook on that train, find another distribution that makes you happy or make your own.
Maybe the author should change to another distribution that doesn't have the change applied.
This has always been my experience with Linux, but I also don’t buy computers, and peripherals, specifically for Linux, which seems to be a very heavy requirement for a good experience, as the perpetual year of Linux on the desktop has unrelentingly shown us through the decades.
Please define "linux"
What happened to the author while using Fedora wouldn't have happened while using RedHat Enterprise Linux or any other distro with long term support of an existing kernel. Besides author can still boot with old kernel version.
Linux, a kernel enabling you to create an operating system
When using proprietary software on windows/mac, somebody somewhere decides how you’ll be living your life from now on and you just suck it up. They might even decide that your perfectly working hardware is deprecated and drop support. Or decide that from now on you have to pay a monthly toll to keep using their software. And you have no way to voice on the matter.
Freedom has its price.
I'm not a chef, but it's expected that I cook for myself;
I'm not a taxi, but it's expected that I drive a car;
I think, even an "artist" can be expected to have a certain amount of self-sufficiency,
and I do not think rebuilding kernel modules is any harder than those things,
Uh, no? You are completely out of touch on other (non-programmer) people's backgrounds. They don't know what a kernel or even a terminal is. It's more than just copy-pasting commands from SE.
A chef, that for whatever reason cannot forge their own knife, better make friends with a blacksmith, and think about what they want when they want them to make them a knife.
They should not expect blacksmiths around the world to read their mind and make them knives for free. They should expect it's their own responsibility.
"Just recompile your kernel" is how Linux people convince other Linux users to install Windows or buy a Mac.
Well I'm not really proposing he does it, I'm just saying he should ask for someone to help him do it.
If I understand the post well, his workflow was relying on a bug in his pen driver. That bug got fixed. It's just the way things move forward, it happens on Linux, Windows, or any software really.
The sane solution is just to rebuild the old driver (not kernel).
David Revoy has reached out to the linux-input mailing list:
https://lore.kernel.org/linux-input/877c9bed-181a-4fc0-a876-...
But, having to flip a stylus around just to engage with the eraser functionality in the app is perhaps an outmoded concept. The author makes it sound like the fault out-of-touch stylus-lite business users, but I disagree. Some artists erase a lot as part of their workflow, particularly during certain parts, and map this functionality accordingly..
Do not happen on Linux on same laptop.
So I would say you have rose tinted glasses when using windows or just got lucky with it and unlucky with linux.
I'd say you probably should think about it the other way -- you only get decent Linux desktop experience if everything is supported by the vendor. Just look up on HN what kind of trouble people run into when installing a Linux distro on their laptop. People go as far as recommending very specific models from certain brands because everything works as expected on those laptops.
There are not too many linux-based vendors. And linux still works on 80% of unsupported machines.
I go for linux dells. Mostly OK. Certainly better than what I had back in darker Windows times.
* random errors coming out of nowhere on Linux after a refresh installation + package update * IME not working (Asian language) * IME providing very low quality suggestions leading to slower typing speed * scaling issues (fractional scaling) * random freezing on gnome * No sound from speaker on a laptop (driver issues) * issues with connecting to 802.1x wifi (in a certain distribution, was able to get around via command line) * not being able to find one decent pomodoro app -- the one in the Ubuntu store doesn't work, like, at all * window management is way behind Windows
That's what I can think of right now, but if I spend more time I can come up with 30 more. Windows and Mac have their fair share of bugs, limitations and weirdness, but nowhere nearly as bad as this.
1) it would have helped invert the subservient position they had with Microsoft in general
2) would have allowed Intel to push out an demonstrate hardware features in an OS without waiting for Microsoft to support it two years down the line in some service pack
3) probably would have kept them up with consumer hardware and the smartphone thing wouldn't have blindsided them
4) probably enabled them to get more of their peripherals businesses (which they constantly acquire and shed)
5) enabled cheaper low end devices where the Microsoft tax is a quite large percentage of the device cost
6) would have enabled them to be in the ARM game if they wanted to, IoT with Atom processors, and tons of other markets
Qualcomm or some other ARM vendor should have done it to
1) have a real alternative to google controlled Android
2) get ARM out to more consumer devices
3) get their hardware features demonstrated more quickly
Google should have done it (yeah ChromeOS sucks)...... well, we I'm shocked ChromeOS hasn't been dropped yet and Google would never have stuck with it.
But none of that matters now, it should have been done 20 years ago. And Apple seems to be the only hardware company that does software well.