Most active commenters
  • leakycap(8)
  • fnicfnac(3)

←back to thread

643 points vkoskiv | 28 comments | | HN request time: 0.209s | source | bottom
1. pankalog ◴[] No.45530894[source]
If I had no problem with devoting the time and money, contributing to the kernel (especially in a topic as obscure as making the extra buttons work on a 20-year-old laptop) is at the top of my bucket list, and I am definitely going to be doing it in the near future when my calendar clears up a bit.

Exquisite write-up and OP's simple writing has a motivating ring to it, and I'm now on the local used marketplace looking for pieces of tech like this :-)

replies(5): >>45531179 #>>45532671 #>>45532745 #>>45533331 #>>45534675 #
2. dmurray ◴[] No.45531179[source]
I feel most laptops still don't work completely out of the box with Linux, so you don't have to hunt for old hardware.

Maybe you won't find an issue as simple as fixing a button, though.

replies(1): >>45531725 #
3. leakycap ◴[] No.45531725[source]
> Maybe you won't find an issue as simple as fixing a button, though.

Every laptop I've used with linux has had a few non-functioning buttons and keys. I think you underestimate the widespread issue.

replies(3): >>45532258 #>>45534626 #>>45534648 #
4. fnicfnac ◴[] No.45532258{3}[source]
We might have a different definition of issue.. I think 100% compatibile working would be launching bloatware installed by the manufacturer. I'm happy not to have the pavlovian training that may some day cause me to click one of these things on someone's windows machine.
replies(1): >>45532305 #
5. leakycap ◴[] No.45532305{4}[source]
> I think 100% compatibile [sic] working would be launching bloatware installed by the manufacturer.

Making a physical button work requires bloatware in your understanding?

> I'm happy not to have the pavlovian training that may some day cause me to click one of these things on someone's windows machine.

Do you know what you're trying to say here? I do not.

replies(2): >>45532520 #>>45532686 #
6. pixl97 ◴[] No.45532520{5}[source]
I think it's more of the buttons perform specialized tricks to launch bloatware in Windows.

Some of the issue here is the keys themselves have almost no standardization, even across models. Hell, possibly in the same model sometimes. Some backend windows driver captures these signals via a 50 mile long series of if statements that make grown men weep when viewed. This later can mean your totally working fix for the kernel doesn't actually work on a 1/3rd of that fleet of laptops.

replies(2): >>45532609 #>>45534818 #
7. leakycap ◴[] No.45532609{6}[source]
> I think it's more of the buttons perform specialized tricks to launch bloatware in Windows.

The linked article is discussing play/pause buttons as well as a "mode-switch" button that allows the play/pause button to have a second function. I do not understand how any of these regular functions become bloatware in your estimation.

> Some of the issue here is the keys themselves have almost no standardization, even across models.

There is actually widespread standardization, which is why many important keys work by default. Laptops sometimes have buttons to disable the internal wifi or adjust the keyboard brightness. These keys are less universal, but still hard to categorize as bloatware.

> ome backend windows driver captures these signals via a 50 mile long series of if statements that make grown men weep when viewed.

I don't know any grown men who would weep when viewing this. I'm confused that you do not like a simple solution (if statements, which a computer has zero problems following precisely even if it is complex to you) nor the complex solution ("bloatware")

> This later can mean your totally working fix for the kernel doesn't actually work on a 1/3rd of that fleet of laptops.

Most devices used in fleets are well-supported in linux after a few years, specifically because of users like the linked article who spend time making buttons worked when pressed.

8. akdor1154 ◴[] No.45532671[source]
Yep, it definitely is well above 'basememt full of model trains' on my (sadly far-off) list of retirement activities.
9. fnicfnac ◴[] No.45532686{5}[source]
You can obviously map arbitrary key codes however you want on a custom OS and have extremely little fear of someone having embedded nonsense down to the bios.

On windows many of these laptop buttons were added like the Yahoo browser bar to specifically work with bloatware that might go on to make a meaningful action for non malicious software as well as what it is really for.

I prefer not to be in the habit of pressing footguns given that I might occasionally be placed in front of a consumers windows laptop that no one cleaned.

replies(1): >>45532834 #
10. kees99 ◴[] No.45532745[source]
That's the spirit! :-)

By the way, delving into obscure and hardware-specific kernel code, sometimes yields quite interesting generally-applicable problems. For example, @dougg3 did an (excellent!) series of articles about his work on bringing mainline kernel support to "Chumby 8", a somewhat obscure, but historically significant piece of hardware, and as a side-quest he stumbled into this:

https://www.downtowndougbrown.com/2024/04/why-is-my-cpu-usag...

...which is applicable to quite a few other machines.

11. leakycap ◴[] No.45532834{6}[source]
> I prefer not to be in the habit of pressing footguns given that I might occasionally be placed in front of a consumers windows laptop that no one cleaned.

If you're this anxious about security, you might not want to be anywhere near a Windows machine.

replies(1): >>45533000 #
12. fnicfnac ◴[] No.45533000{7}[source]
I'm also looking forward to telling a driver that I never I wanted to be near cars when they eventually run me down.
replies(1): >>45535254 #
13. antonok ◴[] No.45533331[source]
If you want to find devices that still need hardware support under Linux, I highly recommend trying to get a mobile Linux distribution to work on an old smartphone or tablet.

postmarketOS in particular has a really good devices page [1] showing missing feature support at a glance, as well as guides for porting to new devices [2] and porting features from an outdated vendor-provided Linux fork to the upstream kernel [3].

[1] https://wiki.postmarketos.org/wiki/Devices [2] https://wiki.postmarketos.org/wiki/Porting_to_a_new_device [3] https://wiki.postmarketos.org/wiki/Mainlining

replies(2): >>45534440 #>>45540738 #
14. Imustaskforhelp ◴[] No.45534440[source]
I genuinely want to work on postmarketOS but I don't have the technical know-how right now but one day.

I would prefer a sort of dual-boot or just a simple ability to run linux in "android phones"

Like, if we were to build a linux phone somehow hacking it through a raspberry pi or the alikes, they would be so much more costly and subpar.

Android phones have whole globalization working on it and the only reason why they don't work is lack of drivers support/software side, something which can be worked on.

I think if society rewards something like PostMarketOS more/make it easier to install it, then things can be so great as well.

I know I can run a terminal inside android but till now it was only possible through qemu which had its issues...

https://www.androidauthority.com/android-linux-terminal-app-...

I am not sure but I have never really appreciated having linux run inside a vm, I'd much rather run something like waydroid in a postmarketOS phone than linux inside android in an ideal world technically speaking from strictly performance but we don't live in one and installing waydroid on postmarketos or even installing postmarketos can be a very huge issue whereas installing linux on android can be a single step with termux or userLand.

replies(2): >>45535613 #>>45542071 #
15. heavyset_go ◴[] No.45534626{3}[source]
If someone wants to tackle this on a laptop where this is the case, WMI is where you want to start.

https://docs.kernel.org/next/wmi/driver-development-guide.ht...

16. marssaxman ◴[] No.45534648{3}[source]
I've never had that problem with a Thinkpad.
replies(1): >>45542093 #
17. MaKey ◴[] No.45534675[source]
What I did was buy a wifi router with a chipset supported by OpenWrt but with no build target yet. One of the OpenWrt maintainers then guided me in what I had to do to get the info he needed for a patch. I followed his instructions, he wrote the patch and there it was, a new build target. Later I wrote a patch myself to fix the LED control. It was a rewarding and educational experience. Later I even found someone using OpenWrt on the router I helped get supported which put a smile on my face.
replies(1): >>45537884 #
18. firesteelrain ◴[] No.45534818{6}[source]
I have a calculator button on my Dell laptop. Some of these keys are just macros.
replies(1): >>45535236 #
19. leakycap ◴[] No.45535236{7}[source]
The calculator button is one of the "standardized" buttons, it isn't even as complex as macro as it turns out!

And very handy

replies(1): >>45538453 #
20. leakycap ◴[] No.45535254{8}[source]
Did you mistakenly respond to the wrong thread?
replies(1): >>45538513 #
21. antonok ◴[] No.45535613{3}[source]
You could also look into running mobile Linux on top of libhybris - it's a proprietary compatibility layer, but some people use it to get support for mobile Linux runtimes on more recent devices.
22. a96 ◴[] No.45537884[source]
Nice! That's something I've kind of thought I should try one day. Unsupported routers aren't exactly hard to come by these days.
23. firesteelrain ◴[] No.45538453{8}[source]
Really? I had assumed it was running calc.exe via some hidden command line window
replies(1): >>45540644 #
24. da_chicken ◴[] No.45538513{9}[source]
I think they're trying to say avoiding a Windows computer is about as difficult as avoiding an automobile, and potentially just as fatal.

I think if they're honestly not being hyperbolic, they should find a less technical career or hobby. If you're afraid of flying, don't join the Air Force.

25. leakycap ◴[] No.45540644{9}[source]
Yep! It's basically just a button that tells the OS "open the system calculator"

~~

I looked it up, the Human Interface Devices usage "Consumer Control" code assigned to "Application Launch - Calculator" is 0x0C0192 or 0x192

This keypress is sent as a scancode/keycode, not an ASCII character. On Windows, this opens calc.exe by default, but you can change which app opens in response to the calculator key by editing the media key mappings in the Registry

26. mercenario ◴[] No.45540738[source]
I'm actually trying this right now, but it is becoming much harder than I expected. The fact that I keep needing to recompile kernel and rebooting device doesn't help. I'm trying to make the display and touchscreen work consistently on a qualcomm soc.

And the pmos wiki is severely lacking IMHO.

27. zenolijo ◴[] No.45542071{3}[source]
It's possible to dual-boot. My favorite method is to have a device with a SD-card slot and have android on the eMMC but PostmarketOS on the SD-card.

Currently only do that on one of my older devices, would love to do it on my main device but when I bought it I was in a hurry to get it going and did not have time to unlock the bootloader. Unlocking the bootloader now means having to factory default the device but I simply have too much important stuff set up that it's not worth it. Apparently there's also no great way to backup all partitions of the Android device which I find to be quite strange.

28. leakycap ◴[] No.45542093{4}[source]
Lucky you! There are thousands of ThinkPad models and they're not magically exempt from this issue:

(Not a new issue... here's the problem on an R60) https://unix.stackexchange.com/questions/475968/thinkpad-vol...

E14 Gen4 https://forum.manjaro.org/t/thinkpad-e14-gen4-special-keys-m...

E14 Gen2 issues https://unix.stackexchange.com/questions/609942/thinkpad-spe...

T510 issues https://bbs.archlinux.org/viewtopic.php?id=268269

Fn Volume Control Keys Not Working https://forums.linuxmint.com/viewtopic.php?t=412947

It just takes a cursory glance of search results to see that your ThinkPad experience is not everyone's.