geteilt von: https://feddit.de/post/3049646

geteilt von: https://feddit.de/post/3048730

Github link: https://github.com/Dakkaron/Fairberry

Here’s a video of it in action: https://www.youtube.com/watch?v=iDb8_ld9gOQ

I’ve been using it for almost two years now, and I’m not going back.

It’s based on a spare Blackberry Q10 keyboard and a custom Arduino-compatible board that reads the keyboard matrix and outputs it as USB HID to the phone. From the viewpoint of the phone, it’s just a regular USB keyboard, so no special software is needed.

But I do use a custom virtual keyboard to have just two rows of symbols that are not natively on the keyboard, as I didn’t want to add another layer of rarely used symbols that I’d have to memorize.

(On the image you can see Ubuntu with XFCE4 running on it. I chose Ubuntu because it’s what was easiest to get running in a chroot jail on the phone. I’m using VNC to display the GUI. I even managed to get FEX (x86/x64 emulator) and Wine running, so it runs x86/x64 Linux and Windows apps.)

Btw: Is there maybe someone who wants to make a little side money? There are tons of people who say they’d buy this, but I don’t want to make them.

The designs are all online and I’m happy to help. So if someone wants to make and sell them, that would be really cool! (I don’t want or need any financial compensation. I’d just be happy if people have access to this.)

  • Square SingerOP
    link
    fedilink
    29 months ago

    Hi there!

    It’s currently just the Q10. The other keyboards have different connectors and different keyboard matrix configurations. It wouldn’t be too hard to adapt it to another keyboard, except that you’d need to know what the target keyboard connector is called. I tried to figure that out for the Key2 and at least when I was at the research phase (~2 years ago) I couldn’t find any info online about that.

    After the connector is known, the rest isn’t too hard. The next step would be to make a breakout port, so you can figure out the keyboard matrix layout. Here you connect each pin from the matrix to an Arduino and just trace which two pins get shorted when you press which button.

    Then you just feed that info into the Arduino sketch that is running on the final device, adjust the KiCAD designs for the new connector and that’s basically it.

    Except if you want to support higher-level features like capacitative touch on the keyboard. That would be a bit more difficult.

    I don’t I have the time to do all that work, but if you want to, feel free to do so!

    Regarding the correct measurements: The easiest thing would be if you find an STL or something of your phone. There are lots of these for many phones available. You can then just dump that into the script (there is an option of using an STL shape as a “negative mold”. You then go to GSMarena or something like that and fetch your phone’s dimensions from there.

    Be aware that any modifications to your phone (e.g. screen protectors) must be accounted for. To do so, get some cheap digital calipers (I got mine from Aliexpress for €4 including shipping, but Amazon also has them for ~€10). They allow you to perfectly measure the dimensions.

    The most difficult part is the corner radius, which you have to pretty much guess.

    If you have a 3D printer, you can just try out a few different settings and figure out what fits best. It should be a tight fit without wiggle room, but it should also slide on and off with little resistance.

    • @Zo0@feddit.de
      link
      fedilink
      29 months ago

      Thanks for the comprehensive answer, honestly the more I learn about this project the more discouraged I become. As I feel like I don’t have the necessary skills or knowledge to pull it off. Regardless thanks for all the effort!