
Richard Hughes: SK-8855 in the year 2026
Richard Hughes has successfully modernized his 15-year-old Lenovo SK-8855 keyboard by replacing its controller board with a modern converter, using AI assistance to create custom software tools.
Richard Hughes, a seasoned open-source developer with over 10 years of experience, has breathed new life into his 15-year-old Lenovo SK-8855 keyboard by replacing its original controller board with a modern converter. The USB laptop keyboard, manufactured in the late 2000s and early 2010s, had become increasingly difficult to find and maintain over the years.
Hughes, who maintains several major open-source projects including GNOME Software and PackageKit, had been using the external version of the ThinkPad X220 keyboard for over a decade. He described the replacement process as analogous to "putting a Tesla electric drive-train in a classic Ferrari with a blown engine."
Hardware Challenges
The original controller board had served Hughes well but developed quirks over time, occasionally crashing and missing quick left-shift presses. After 15 years of service, it eventually failed completely, prompting Hughes to seek a modern replacement solution.
The replacement process required removing some plastic supports and installing a USB-C connector to connect the new controller to the existing USB wiring. While the keyboard functioned afterward, it came configured with the en_US keymap and lacked proper functionality for certain keys like the # symbol.
I've been an unapologetic fan of the Lenovo 'classic' 7 row keyboard in the ThinkPad X220 and have been using the external version of it ever since.
AI-Assisted Development
After struggling with vendor-provided tools that showed tiny Chinese text and frequently crashed, Hughes turned to AI for assistance. Inspired by a colleague named Christian, he employed Claude, an AI assistant, to analyze the updater binary and reverse engineer the hardware protocol.
Over the course of a full day, Hughes worked with Claude, having it press specific keys and report LED status to gather information about the controller. This collaborative effort resulted in two key software solutions: xykbms-gtk, a GTK4 standalone version of the vendor tool for Linux, and a fwupd plugin for firmware updates and keyboard configuration.
The fwupd plugin proved particularly valuable, enabling Hughes to not only update the firmware but also reconfigure the keyboard between different layouts like en_US and en_GB. He noted that the project's robust testing framework helped ensure the AI-generated code met quality standards before submission.
Future Improvements
He then created GNOME Firmware code to flash CFI images from the graphical interface, though he notes the user experience still needs refinement.
The project demonstrates how AI can assist in hardware modification and software development for legacy devices. Hughes is now using the fully functional keyboard, which he hopes will continue to serve him for another 15 years of use.
Hughes, who works for Red Hat's desktop group and runs a company selling open source calibration equipment, has not submitted the xykbms-gtk tool to Flathub, considering it too niche for the general public despite its effectiveness.