My First Contribution to Linux

https://news.ycombinator.com/rss Hits: 25
Summary

I've been spending more of my spare time in recent years studying the Linux source tree to try to build a deeper understanding of how computers work. As a result, I've started accumulating patches that fix issues with hardware I own. I decided to try upstreaming one of these patches to familiarize myself with the kernel development process. Table of Contents I have an old laptop I'm particularly fond of: a 2005 Fujitsu Lifebook S2110. It's probably the oldest computer I have that could still be considered "modern", primarily because of its 64-bit CPU. The laptop pictured in December 2008. I was 12 :] Despite being 20 years old now, it still happily runs the latest Arch rolling release with only 2GB of RAM and a spinning hard disk. Once the page cache warms up a bit, it's plenty fast enough for light C programming. The keyboard is very comfortable, and I really like how crisp bitmap fonts look on the glossy 1024x768 display. Like many laptops from this era, it has a row of hotkeys above its keyboard that perform various functions: The keys are very 2005 :] That key on the right labelled Application and Player is a hardware toggle that selects between the two "modes". Pushing it toggles which of the two labels is lit. To be honest, I've never really used these keys myself, but, continuing my kernel deep dive, I wanted to see how special keys like this are handled in Linux. First of all, do these keys even work to begin with? Pressing them under i3(1) doesn't seem to do anything in either mode. Perhaps the events are being generated, but aren't bound to anything by default? I looked up how to show raw input events on X11, and it seems like xev(1) is the right tool for the job. With it running, a press of the leftmost A hotkey yields: KeyPress event, serial 47, synthetic NO, window 0xc00001, root 0x18b, subw 0x0, time 5481538, (287,414), root:(803,434), state 0x0, keycode 156 (keysym 0x1008ff41, XF86Launch1), same_screen YES, XLookupString gives 0 bytes: XmbLookupString...

First seen: 2025-10-09 16:20

Last seen: 2025-10-10 16:32