I was frustrated by the lack of decent phones with physical keyboards. The phones that are currently available are hard to buy, crap, expensive, are old, outdated, have bad software support and/or disappointing hardware.
So I decided to design and build one myself.
This is a Fairphone 4 with a DIY, open source keyboard attachment. It uses a spare Blackberry Q10 keyboard and a custom, self designed Arduino-compatible mainboard, which translates the keyboard matrix to regular USB HID.
This means, it works on any phone without the need of any software modification at all. If the phone can handle a USB keyboard, it can handle this one.
All that’s necessary to make it compatible to any other phone is to adjust the case to fit that phone.
(And yes, that’s XFCE running on Ubuntu in a chroot jail.)
This is what customer focused design looks like. Simply beautiful.
I’m honestly surprised there is not a slide out keyboard case for smartphones considering how possible this makes it look.
This is what customer focused design looks like. Simply beautiful.
That’s what happens if the customer is the designer ;) Thanks!
I’m honestly surprised there is not a slide out keyboard case for smartphones considering how possible this makes it look.
Slide out cases are actually much more difficult. Believe me, I tried :)
This is I think the 8th design I tried (not counting iterations on the same design) and the only one that I was happy with daily driving. So much so that I have been daily driving this for over a year.
The big issue with all forms of sliders is that you can’t put the phone parts into the keyboard side. Every sliding phone I’ve seen so far has most of its weight in the keyboard portion of the phone, leaving only the screen and a few other components in the display portion.
With an attachment, this is not possible. So a side sliding attachment will always have bad centre of gravity issues, with the top half being much more heavy than the bottom half. It’s really uncomfortable to hold something like that.
A bottom sliding attachment (Blackberry Priv style) has the problem that the keyboard will be much farther behind, since it needs to be behind the phone. This makes for a very uncomfortable typing position. Also, that style of slider makes an USB connection impossible, meaning you need to add a battery (plus charging circuit) and have to battle with Bluetooth connection issues.
My solution allows for an easily detachable keyboard with decent center of gravity (the typing position is shifted only by 2-3 cm). It is also slim enough that it fits in my pockets.
It’s the only solution I could come up with that just works.
(Btw, there were side-sliding bluetooth keyboard attachments when phones were smaller and the Center of Gravity issues weren’t that bad, but it’s impossible to find any. I have tried a lot to find any, but they are all gone.)
I can hear the clicky buttons
I loved phones with physical keyboard (although digital ones are much more practical and customizable). So cool you mamaged to achieve that!
The cool thing here is I got both.
On the one hand, the keyboard is detachable, so should I ever really need to get to a character that I have no key binding on the keyboard for, I can just slide the keyboard off.
But since I don’t want to do that every time I want to type e.g. an € sign, which I cannot bind to on the US international layout that I am using, I also use a customizable software keyboard that shows up when I have the physical keyboard attached and the focus is on a text input field. This virtual keyboard is really slim (two small rows), and contains all special characters that I have no key binding for.
I chose the US international layout, since it fits best to this keyboard and allows for dead keys using the ALT key, which allows me to type all European symbols I need to type. Except of the € sign, since that’s not in the US international layout.
Have you heard of QMK? It’s open source keyboard firmware commonly used in custom desktop keyboards.
You’d easily be able to customise the layout (e.g. to add a euro key) with the VIA web interface.