# \[GSoC 2026\] Midterm progress on the Devices application

DevFeed: [\[GSoC 2026\] Midterm progress on the Devices application](<https://devfeed.tech/articles/gsoc-2026-midterm-progress-on-the-devices-application-34777.md>)

Original publisher: [Read original article](<https://www.haiku-os.org/blog/aquamatic123/2026-07-11_gsoc_2026_midterm_progress_on_the_devices_application/>)

Author: aquamatic123

Published: 2026-07-11T17:46:30Z

Content type: article

Language: en

Sources: [Haiku Project](<https://devfeed.tech/sources/haiku-project.md>)

Topics: [App](<https://devfeed.tech/topics/app.md>), [Hardware](<https://devfeed.tech/topics/hardware.md>), [GUI](<https://devfeed.tech/topics/gui.md>), [USB](<https://devfeed.tech/topics/usb.md>), [Bluetooth](<https://devfeed.tech/topics/bluetooth.md>)

Tags: [app](<https://devfeed.tech/tags/app.md>), [bluetooth](<https://devfeed.tech/tags/bluetooth.md>), [gsoc](<https://devfeed.tech/tags/gsoc.md>), [gui](<https://devfeed.tech/tags/gui.md>), [haiku](<https://devfeed.tech/tags/haiku.md>), [hardware](<https://devfeed.tech/tags/hardware.md>), [midterm](<https://devfeed.tech/tags/midterm.md>), [software](<https://devfeed.tech/tags/software.md>), [usb](<https://devfeed.tech/tags/usb.md>)

## AI overview

A GSoC 2026 midterm report describes progress on revamping the Devices application, including improved hardware and driver information, a clearer tree-based interface, USB and HID descriptor support, and ongoing Bluetooth hardware scanning.

## Source excerpt

Hello Everyone! I have officially reached the midterm mark of my GSoC project, revamping the devices application. Over the past few weeks, I have made a couple of changes extracting more hardware information and presenting it cleanly to the user. Here is a look at what has been accomplished so far. Extracting the device path and driver used The first goal of my GSoC project was to determine which driver is loaded for a device, and display the device path as well if existent. To do this, I worked with the device_manager to get the driver path. I managed to get a hold of this in the app with a dm_wrapper call, and then display it in DevicesView by creating the devices with that new attribute. For the device path, I also used the device_manager to add the published path as an attribute, that would get fetched in DevicesView as well. A Cleaner Layout I also had to make the device data easier to read. Previously, attributes were somewhat clumped together. I introduced a new tree-view layout that clearly separates Basic Information (like the device name) from the more advanced attributes. Building on that UI improvement, I also modified how attributes are displayed. Instead of just dumping all attributes into a single list, the application now generates an expandable tree structure. It looks for attributes containing a / in their name and parses them into nested folders, making complex configurations much cleaner to navigate. Extracting USB and HID Descriptors A major focus of the first half of this project was bringing the Devices app to include specific information like the command-line tool listusb -v. I implemented a new BuildUSBTree structure that maps a device to its hardware path (using a BUSBDevice object) and recursively goes through the configurations, interfaces, alternates, and endpoints of connected USB devices. This allows the GUI to display almost all the USB attributes that a user would normally need the terminal to see. I also added support for fetching H