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.)

  • I’m surprised that there isn’t already a simple thumb keyboard with a USB-C plug at the top that you can just buy on Amazon. I would think that what you’ve done here would be super helpful for lots of people.

          • Kinda, yes and no, depinding on what you mean.

            Native desktop Linux on bare metal, that’s not possible, afaik. At least I have never seen anyone do that, so I don’t think that’s possible. Only very specific phones that are designed for this (e.g. the Pinephone) can do this.

            Specialized phone Linux distros like Ubuntu Touch or PostmarketOS can be installed on any phone that someone ported the OS to. This is by far not every phone, but there are some phones where that is possible.

            Running a real desktop Linux in a chroot jail is something every rooted phone is able to do. Here, the phone’s regular Linux kernel is used to run the userland of the desktop Linux in a separated file system. From the user’s viewpoint this is real Linux, but the Kernel that is used is the Android kernel. Also, the whole Android userland is running at the same time. This means, you can e.g. see (and kill) Linux processes from Android and vice versa. You can access the UI of the chrooted Linux using either a VNC or an X11 app, and the CLI either over SSH or directly over a command from the Android CLI.

            The last option is using e.g. Termux to run a desktop Linux in a proot jail. This works similar to chroot, but doesn’t require root. The downsides are that you don’t have root inside the desktop Linux and afaik it only works until Android 11. Otherwise you get similar results as with chroot, only slower and without requireing root.

            I went with the chroot option, which works great. I even managed to get FEX (an x86/x64 emulator) to run, which, together with Wine even allows me to run Windows programs on my phone (slowly).

  • Marry me!

    But seriously, I love hardware keyboards and this looks like a very interesting project. It’s a pretty big compromise compared with BB phones (you pretty much have to remove the keyboard to put the phone in your pocket or charge it, right?) but I would totally use one if I could get something like this for my phone. Why no one is simply making keyboard cases? Phone case with a bluetooth keyboard doesn’t look like a very expensive/complicate project.

    • Marry me!

      Thanks for the offer, but you are too late for that ;)

      It’s a pretty big compromise compared with BB phones (you pretty much have to remove the keyboard to put the phone in your pocket or charge it, right?)

      I don’t remove the keyboard when I put it in my pocket. But for charging it needs to be removed, since I didn’t add pass-through charging to the whole thing. Pass through charging is really complicated and I already spent a lot of time on this.

      but I would totally use one if I could get something like this for my phone.

      If you got some CAD skills, you can just adjust the case for any phone you like. It should even work with an iPhone, you just need to use a Lightning-to-USB-OTG solder connector instead of the USB-C-to-OTG solder connector I am using.

      But yeah, that’s a concept issue here. The case needs to be adjusted for every specific phone. So if anyone was do do this commercially, they’d probably have to pick 2-3 different devices to support and that’s it.

      Why no one is simply making keyboard cases? Phone case with a bluetooth keyboard doesn’t look like a very expensive/complicate project.

      There are a few issues. The device-specificity is one, but another one is that Blackberry still had some patents on phone keyboards and they just sold them to a patent troll company. Might not be a big issue for a large company, but experimental accessories are usually made by small companies who are happy to output just a few tens of thousands of units max. And for a little company like that, paying off a patent troll is too expensive to make it worthwhile.

      Also, small keyboards are surprisingly hard (read expensive) to make on a small scale. I got lucky that there are still enough BBQ10 spare keyboards around, but the total supply isn’t exactly huge and I wouldn’t bet a company on that kind of supply.

      So if you want one, make yourself one before the BBQ10 spare keyboards are gone.

      • I actually still have some BB phones in a box (I’m not sure if my old Q10 is there but definitely a BB Key). What I lack are CAD skills. But I will take a look. Maybe it’s easier than I think.

        Also, I remember the issue with BB patents and I think the problem was that this company used exact copy of BB keyboards. Like the keys were exactly the same shape. If someone would just make a small BT keyboard it would probably avoid patent issues. You do have small BT keyboards for tablets after all. Just making it even smaller shouldn’t be a patent violation.

        • My thing is only compatible with the Q10 keyboard. The others have different connectors.

          I made a script that generates a case for you, if you want to go the easy route. That case just isn’t exactly great compared to the hand-designed one. It works though, and all you need to input is the measurements of your phone.

          Also, I remember the issue with BB patents and I think the problem was that this company used exact copy of BB keyboards. Like the keys were exactly the same shape. If someone would just make a small BT keyboard it would probably avoid patent issues. You do have small BT keyboards for tablets after all. Just making it even smaller shouldn’t be a patent violation.

          Their patents are all specifically for keyboards on phones. So selling a Blackberry keyboard as an external keyboard is fine, attaching it to a phone is covered by the patents.

          When Ryan Seacrest tried to make a very similar product (Typo keyboard for the iPhone), he was sued over these three patents:

          So right now it’s possible to make a phone with a keyboard, as long as it doesn’t kinda roughly look like a Blackberry and as long as it doesn’t use Blackberry’s improved, shaped keycaps.

          All these patents specifically refer to phones/“handheld communication devices”.

    • Sadly not. Coming from a Droid 4, a side sliding keyboard was my first approach (actually my first 8 prototypes were some form of side slide keyboard) but it’s impossible due to the center of gravity. On all keyboard phones, the mainboard and battery where in the keyboard part, with only the light screen on the top half. With a keyboard attachment that’s not possible.

      So I gave up and made this here, and it just worked great. I would still prefer a side sliding keyboard, but I fear it’s not possible to make a decent one.

    • Yeah, it would be nice. I would also prefer a horizontal version.

      That’s sadly not really possible, though. The issue is that you need most of the weight in the keyboard part of a horizontal keyboard phone. If you look at any of these, they all have battery, mainboard, cameras and IO in the keyboard part of the phone, with only the screen being on the other part.

      With a keyboard attachment, that’s not possible. You have all the weight up top. That means, you can never get the center of gravity in a comfortable position.

      Believe me, I tried. I only had horizontal keyboard phones before, and the first 8 prototypes where some kind of side-sliding phone, and they all didn’t work out, because of the COG. Even if I added weights to the keyboard, that wasn’t enough. To balance the ~225g of that phone, I’d have to add >300g to the keyboard, and I really don’t want to carry a 0.5kg training weight in my pocket at all times.

      So I gave up and stuck a Blackberry keyboard onto my phone :)

    • Funnily, yes it is. At least in theory, I haven’t tested it.

      I am not using the USB connector directly, but instead I have a small USB OTG breakout board in between, which has USB C on one side and USB 2.0 OTG on the other side.

      The same kind of board exists for Micro USB (which I tested on my last phone) and Lightning.

      So all you need to do is swap the connector and that’s that. And of course adjust the case design files to fit an iPhone.