I want to build a diy keyboard which connect to the spi interface of the gpio header of the orange pi 5 (ubuntu/linux). So far I have some sketches of the keyboard, the schematic is in progress.

The controller of the keyboard will be a microcontroller with spi embedded, it will deliver scancodes to the host. My goal is it to use my diy as standard keyboard under ubuntu. I am a Linux beginner, so my struggle right now is the software of the host computer. Do I have to write my own keyboard driver ? Where to start ?

Any help like pointing out readings or sample code in c is welcome.

  • 3
    which part of your post is about IoT?
    – jsotola
    Commented Mar 12, 2023 at 22:55
  • 2
    what is the host device? ... how are the scan codes sent to the host?
    – jsotola
    Commented Mar 12, 2023 at 22:59
  • i chosed to put my question into the IoT category because of the host device(sorry for not mentioning it in the first place). it will be a single board computer with a rockchip rk3588 SoC running linux(debian). the sbc has a gpio header with spi connectivity. meanwhile i found a way to use the spi of the sbc with the libmraa GPIO library for c. so i can write code to xchange data with the microcontroller of the keyboard. but i want the data obtained from my keyboard to be used as key press info for the standard keyboard. i have no clue how the keyboard is implemented into the linux system.
    – keyborder
    Commented Mar 14, 2023 at 22:22
  • that does not make it an IoT question ... if you were building a camping trailer, and had a question about attaching the roof to the walls, would you go to a Ford website, because you plan to pull the trailer with a Ford truck?
    – jsotola
    Commented Mar 15, 2023 at 0:00
  • please add all the details about the keyboard and the SBC to the question ... this site is not a forum ... information does not belong in comments
    – jsotola
    Commented Mar 15, 2023 at 0:02


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.