PinePhone Keyboard Case Review

Published: 2022-10-09
Edited: 2023-12-29
Written on PinePhone Keyboard

Recent notable changes:
- removed mentions of sleep inhibitor issue as it can be disabled, see this
- I tested plugging a charger and powered dock into the phone USB port and it appears to work perfectly fine, see Dock
- the driver bug of keys staying active after letting go of them has been fixed
- lubing keycaps to prevent jamming

Content

Introduction Further Reading

Review Overview

Typing Thumb-Typing Two-Handed-Typing Keycaps Jamming Key Presses Not Registering Keys Repeating or Getting Stuck Ghost Key Presses Shortcuts and Other Keyboard Usage

Shape, Size and Weight Size and Pockets Weight Handling Hinge Phone Calls

Battery & Charging Dock

Conclusion

Introduction

As of writing this, I have been using the keyboard for over half a year. I received it on 2022-02-13, unfortunately it was stuck in customs for nearly a month. It’s from the first public production batch and was preordered without priority shipping. Since then I’ve been working on it, with it or on things related to it nearly every day, with the intention of making it work as well as possible both for me and everyone else.

If you need any help or have further questions, feel free to contact me via any of these methods. But keep in mind that I’m by no means an expert. The official forum and chat are also great places to get help.

The entire Keyboard Case add-on is commonly abbreviated as PPKB, along with PP and KB for PinePhone and keyboard.

See my PinePhone Keyboard Documentation for things that have to be done to make the keyboard usable as well as potential issues.

If you happen to have any spare change, consider donating to the one and only Megi who has been contributing a lot to the Pine64 community and devices. Among many other things he wrote the keyboard’s firmware. The PPKB would not exist without his hard work. Thank you, Megi :)

Should you still have more change and don’t know of anyone else who needs it more, you can donate to me here.

Further Reading

https://phal.io/tech/pinephone-keyboard
https://codeberg.org/alilybit/ppkbbat-tools
https://codeberg.org/alilybit/ppkb-layouts
https://xnux.eu/pinephone-keyboard/faq.html
https://xnux.eu/pinephone-keyboard/
https://xnux.eu/log/#072
https://xnux.eu/log/#toc-2021-05-26-pinephone-keyboard
https://xnux.eu/log/#toc-more-chargers-more-issues
https://xnux.eu/log/#065
https://wiki.pine64.org/wiki/PinePhone_(Pro)_Keyboard

Review

Overview

To start off, it’s important to be aware that this device is definitely not perfect. I would consider it more of an Explorer Edition, i.e. a first public sort of “alpha version” that has its issues and is not yet feature-complete. People’s experiences with the PPKB seem to vary a lot and it’s hard to tell to what degree this is caused by them not being aware of how to use it optimally or by hardware faults, but the latter do exist. Personally I have not experienced any permanent hardware defects. Probably the most talked about issue is the pins not connecting properly and therefore typing and/or charging not working. It’s definitely not at all friendly to the average user by default, at least for the moment. But nearly all issues can be solved or minimised (see my PinePhone Keyboard Documentation), leaving the user with an overall great experience and a device of a kind that is not at all common at the present time, but one that, at least in my opinion, is the perfect mobile device: A little pocket laptop I can take with me everywhere that seamlessly integrates with my desktop PC and my Raspberry Pi server. I can SSH and rsync between them however I want as it’s just a phone-sized GNU+Linux computer that I can fully make my own, unlike regular smartphones. It combines the portability, convenience and utility of modern phones with the power and operability of bigger computers with keyboards. As someone who hates using touchscreens for things they aren’t intended for (like typing), someone who makes extensive use of keyboard shortcuts and terminals, as well as someone who has no use for regular smartphones, this kind of device is a dream come true. The PinePhone + Keyboard may not be perfect, but it does its job well for me.

Typing

The most important aspect about a keyboard is of course how well one can type on it. The first thing I noticed when I saw the key arrangement is that the middle row (A to ;) is a little further to the right than it should be on the standard staggered key arrangement, but only minimally. It doesn’t make a big difference but it may still mess with muscle memory a little. It’s definitely much better than the many different inconsistent touch-based on-screen keyboard key arrangements there seem to be. But the biggest difference to regular keyboards is of course its size. The small keys feel unfamiliar at first, but you get used to them over time. Touch typing with up to ten fingers or even typing in the dark is definitely possible.

I consider there to be two main ways of typing on the PPKB: Two-handed typing when the device rests e.g. on a table or one’s lap, and thumb typing while using the other fingers to hold the device.

Thumb-Typing

Thumb typing will mainly be used on the go and while not sitting down. It’s of course not as fast, but it works well. To reach the upper middle keys I might have to slightly adjust my grip sometimes, but it’s not a big deal. The bigger issue is using key combinations where both keys are on the same side, like typing Shift + A or Ctrl + C. To solve this, I had the idea to make a custom keyboard layout with mirrored modifier keys, meaning that both the left and right halves of the keyboard have modifier keys. That way one can always comfortably combine a modifier key on one side with a regular key on the other side. Even many multi-modifier combinations are possible using only thumbs when the modifiers are adjacent, e.g. pressing both Ctrl and Shift with the same thumb. My personal keyboard layout uses this and it works incredibly well, both for typing text and for terminals and general keyboard shortcut usage. If you want to try this as well, my ppkb-layouts repository features such layouts.

Note how I type the capital H with Left Shift and the exclamation mark with Right Shift and how I can type Ctrl + C with Right Control, for example.

Two-Handed Typing

Two-handed typing probably depends on the size of your hands. It works well for me. Most of the time I instinctively only use each hand’s three middle fingers, but using the pinkies for modifier keys and especially Enter also works. Using the thumbs for Space works too but not in my default typing hand positioning with the hands resting on the table, as the protruding bottom edge of the keyboard prevents my thumbs from pressing down the spacebar in this position. Lifting my hands a bit, or only the hand with the space-pressing thumb, makes this work as well. I have typed a couple of longer texts this way, in addition to daily notes, some code and of course chat messages. It works well and typing this way is very fast, with one issue.

Keycaps Jamming

I haven’t tested this myself yet but according to tegaki, you can lube the keycaps to prevent them from jamming: https://www.youtube.com/watch?v=UvPrwqqLJm4

The only remaining more or less big issue I have with the PPKB concerns typing. More specifically the way the keycaps are attached. They are attached to the keyboard via x-shaped shafts, just like regular mechanical keys, only slightly smaller and with the shaft on the keycap side instead of on the switch. Unfortunately, in their neutral position, the keycaps are a bit wiggly and pressing down on them with a finger that is a bit off from the center will jam the shaft and therefore prevent the key from being pressed down. It makes pressing two neighbouring keys at once with one fingertip impossible, neither key will go down in that case. To press multiple keys with the same finger it has to be parallel to the keys which is usually the case for the thumbs during handheld thumb-only typing, so putting a thumb in a flat position on both Shift and Ctrl for example works perfectly fine.

This seems not to be a commonly experienced issue, in fact I have only seen someone else mention it once recently and others replied that they don’t notice this. This will become less of a problem the more muscle memory is built up and fingers hit the keys more centered, but even after over half a year I still consider this a little annoying, although most of this time was spent working on the keyboard rather than actually using it to type. Many times a key won’t go down properly or has to be pressed down harder or with a slightly adjusted finger, which is especially annoying when typing very quickly and I have to go back to insert a missing letter where the keycap didn’t go down. The spacebar has additional stabilising fixtures on the left and right end just like larger keys have on big keyboards and this allows it to be pressed anywhere along the x-axis perfectly fine, but pressing it too far at the top or bottom still jams it. The same is the case for the enter key, only vertically. Since pressing keys in their center works perfectly fine, this issue probably affects me disproportionately because I tend to type quite fast on the PPKB but I still don’t perfectly hit the keys a lot of the time, and that’s when they won’t go down. On regular keyboards, if my finger accidentally hits the border between two keys, both just go down. That might result in a typo but it still feels better than the keycaps being stuck. If I type slowly and look at the keys, hitting them perfectly, I don’t notice this at all. I guess I just need more practice with this different keyboard size.

Key Presses Not Registering

This issue was fixed with the second public production batch.

The other issue that still affects me a little but that is or should be entirely solvable is the common issue of the membrane not registering key presses properly unless the keycap is pressed down harder, mostly and especially in the top row. My top row keys work reasonably well after putting paper rings under them but still not as well as the others, which repeatedly causes wrong password attempts when I quickly type my password with numbers in it and don’t pay enough attention to firmly pressing down on the number keys. I have also noticed this a tiny bit, albeit rarely, on the ] key, but only when I press both it along with [ using my right thumb and I therefore don’t press it down all the way sometimes (these two keys are mapped to right shift and control for me so I occasionally press both of them together for some shortcuts). All keys have to be pressed down all the way to register, they are not like mechanical keys that already register at a higher position. With my paper rings only some number keys are still an issue sometimes while others including Backspace register perfectly, and that too should be solvable in theory if I put in the work to properly fix it as described in the link above.

Keys Repeating or Getting Stuck

This issue was fixed with the Fn rework of the kernel input driver in kernel version 6.1.

Another issue many encounter is keys getting stuck, as in they keep printing their symbol or modifier even after they have been let go of. This is an issue with the way the driver-level extra layers (Fn, Pine) are handled in the kernel and userspace driver and it can be solved entirely.

Ghost Key Presses

Unfortunately, ghosting, certain key combinations also activating other keys that were not pressed, is quite prevalent on the PinePhone keyboard. It’s usually not an issue with modifier keys since they received “special treatment”, except for using Pine + Shift. This is a hardware limitation. It probably won’t affect most users, you can read more about it and find out if it would be an issue for you here.

Shortcuts and Other Keyboard Usage

A physical keyboard can of course not only be used to type, but also to control a computer via shortcuts and similar things. Having a full physical keyboard at one’s disposal opens up a whole new world of possibilities. It makes a lot more applications usable that don’t support touch/phone usage well or at all. It bestows one with the unlimited power, speed and comfortable usage of terminals. This is also great because there are terminal applications for nearly everything, negating the issue of touchscreen- or ARM64-friendly Linux applications not being available for some things, and they need a lot less resources, so they run very well even on a regular PinePhone. Always having a physical keyboard also removes potential issues with on-screen keyboards, like them not showing up when needed, not having the needed buttons or covering things up. Now the entirety of the screen is always used to display things. And in landscape mode on top of that. But my personal distaste for touchscreen keyboards and portrait orientation are surely not shared by everyone.

You can also use things like Alt + Tab and whatever default and custom shortcuts you want. I make extensive use of this and have every key bound to at least one thing in combination with the Pine key and other modifiers, as you can see in the image below. Things like an application launcher and commonly used applications, window manager navigation, volume, brightness, media keys, display scaling, listing sleep inhibitors, quick shutdown and reboot… you name it. It’s all just 2-3 key presses away, nearly instantly accessible. Almost as if this were a full computer and not a phone. This is the best part of the keyboard in my opinion, and I do not want to use any mobile device that is not like this ever again. How can people stand using regular smartphones?

Shape, Size and Weight

Size and Pockets

The keyboard of course makes the device as a whole a lot thicker, and a bit wider as it needs space for the hinge. It has nearly the exact same dimensions as a New Nintendo 3DS XL. So if you happen to have one or have seen one, you can test or approximate based on its size how big a PPKB would be or how well it would fit into your pockets, bags or backpacks. It’s definitely not an optimal size for pants pockets but it can work. It fits well into my pair of wide pants, just good enough into my two regular pairs and barely but not really into my skinny pair, it’s hard to get in and often presses the power and volume buttons in the process and it’s very difficult to get out, especially in public and while sitting down.

A while ago I realised that the PPKB has the perfect size for the side compartment of what was intended to be my photo bag but has become much more than that. The PPKB and the bag are like a match made in heaven. I had previously thought that a good way to transport the PPKB could be some sort of belt bag, similar to those the TF2 mercenaries have. And when I tried my bag for the PPKB, it seemed that my idea was right. It’s very easy and convenient to just swing open the bag’s flap and slide the PPKB out or in. Way better than pants pockets that make it difficult and cause me to worry about accidentally dropping the PPKB on concrete in the process. And it gives the user the freedom of wearing pocketless garments. I recommend giving this a try.

Weight

Both the PinePhone and the keyboard have a weight of about 200 grams. A lot of the additional weight stems from the keyboard’s battery. This is intentional as it not only provides more battery power but it also balances the weight of both halves, allowing it to stand on the keyboard-half like a laptop instead of tipping over, which works really well.

Since the weight is doubled to 400 grams, the entire device is obviously a lot heavier. But I personally do not at all consider the weight to be an issue. It’s light enough for comfortable use.

Handling

The entire device now being bigger, heavier and requiring the user to fold it open first makes one-handed use impossible, and a quick look at the time, a grocery list or notifications a little more difficult. This can be an issue sometimes, like when holding an umbrella with the other hand. Highly improved usability for power-users comes at the cost of being less convenient for simple tasks like these. Perhaps an analogue wristwatch or even a PineTime if it can display grocery lists and notifications would complement this well. Another option would be to remove the keyboard in advance when quick one-handed usage is needed.

The new form also has its upsides. At least in my opinion it feels a lot better and more secure to hold the device via the keyboard. The empty area with the hinge is perfect for one’s thumbs to grip it. See the image at the top of this page of me holding it in my hand. Holding a big thin rectangle with one side being entirely covered by a touchscreen that is easily touched by accident when holding it, especially with the ball of the thumb, is a lot less comfortable to me. Now I can just pick it up as described previously without having to worry about accidentally touching the touchscreen and doing something unintentional. But maybe this is just me as someone who has never used a modern smartphone.

The phone itself being able to stand with an adjustable angle can also be handy for the flashlight. Now it can be placed somewhere with the flashlight on to illuminate something without having to hold it in one’s hands. Perfect for cleaning under stair steps! And with the keyboard’s hinge at 90°, the device can stand on its side in portrait format, which can be used to place it this way next to one’s pillow to comfortably watch things in bed while lying on one’s side. Very comfy indeed!

Hinge

I might have just gotten more used to it but it feels like the hinge requires a little less force to open and close now than it did when I opened it for the first time. It requires a small but appropriate amount of force to move which felt a little unfamiliar at first but now feels very comfortable and easy to do. It’s not like a Nintendo DS whose hinge moves very easily and snaps into place in one or two predefined angles, otherwise just causing the screen to fall down if let go of as there is no resistance. It’s more like a laptop I believe, although I haven’t used one in quite a while. The PPKB can be opened at any angle of up to 180° and will reliably stay at that angle, even when holding it upside down or in any other position that could make it move. It’s very stable. I was worried the hinge might get a little loose over time but so far it does its job perfectly.

Phone Calls

Since the PinePhone is still also a phone, one might be wondering how well calling works with a big keyboard attached to the side. I very rarely do phone calls but I have made a handful of calls with the PPKB. I recommend holding it to the left ear. Holding it to the right ear would position the keyboard right in one’s face, but on the left ear the keyboard is out of the way behind the head. Gripping the PPKB from below in portrait orientation at the hinge just like one would hold an open book with one hand works well. It might look strange to unsuspecting passers-by but it’s definitely still usable for traditional calls or general voice communication with the built-in microphone and earpiece.

Battery & Charging

The other feature of the PPKB is its large battery that holds twice as much power as the PinePhone’s battery, tripling total capacity and therefore runtime per charge. This is incredibly useful but also the cause of a lot of issues and confusions. Most of the concerns have now been proven wrong and while still not working entirely optimally especially out of the box, the battery can be made to work well enough and the situation will likely improve in the future. The main remaining issue for users is most desktop environments not displaying the percentage in the status bar correctly, showing the average of both batteries or even less useful information. For a convenient way to view the actual percentages in a pop-up notification at the press of a button, you could bind ppkbbat-notif to a keyboard shortcut. The best way to solve this currently seems to be using Sxmo: It displays the percentage of both batteries separately. It’s a great fit for keyboard usage in general. Most desktop environments including the popular ones can be used well with the keyboard but I would recommend using Sxmo or at least giving it a try, unless of course you know that you prefer more common phone UIs over something that is very different and unique (basically just a tiling window manager).

After doing the necessary setup, the battery works very well (except for the percentage display of most UIs). I do not want to miss the tripled capacity and I’m very happy that the battery is included, despite the issues of the default behaviour. I have not had issues with not enough capacity ever since.

Previously it was advised not to use the phone’s USB port at all when the keyboard case is attached. However, Megi has done some tests and concluded that using either port by itself should be safe, only using both at once has to be avoided, see https://xnux.eu/log/#072. This means that plugging a power supply into the phone to only charge its battery as well as using a (powered) dock is possible after all.

As I already mentioned, the battery is not only included for the sake of more battery capacity but also to balance the weight of both halves, enabling it to stand like a laptop. The battery and typing mechanisms of the PPKB are entirely separate, the keyboard itself draws its power from the phone. So as a last resort if all else fails, you could just ignore the keyboard battery, keeping it only as a weight, and exclusively charge the phone via its port.

Use a 5V 3A power supply if possible, see Power Supplies for more information.

Dock

Since it should be safe after all to use a dock as long as the keyboard’s USB port is not used at the same time as per https://xnux.eu/log/#072, the PinePhone with the keyboard can be used with an external monitor, mouse and other peripherals. After months of thinking that using the phone’s port while the keyboard is attached will result in my untimely demise, reading of Megi’s tests did not make me confident enough to try it myself. But after reading from multiple people that it works fine for them and being presented with the perfect opportunity to use the dock away from home, I did eventually try it. It does indeed work and appear to be safe, here’s the proof:

Conclusion

Even more than the PinePhone itself, the keyboard case requires the user to know and manually do a lot of things to get it working well and safely. The hardware is not optimal, software support not done and there may be better devices of this form-factor available. However, for those who are willing to accept this and take it as a challenge, it has the potential to transform their PinePhone into an invaluable computing companion. One that fellow tech nerds will envy you for and that will cause common people to think you’re either a mysterious hacker or a lunatic who doesn’t have WhatsApp and instead sends chat messages on their phone in a terminal with a tiny attached keyboard.

I love my PPKB and I’m very happy to call one my own. It has taught me more than I could list here, which I’m very thankful for. And that work was rewarded with an incredible device in my hands as well as with the opportunity to have helped a lot of people, like possibly you, esteemed reader!