Y.K. GoonI've been using the laptop keyboard exclusively all these time.
The Thinkpad X1 Carbon is known for good keyboard. I've even learned to use its trackpoint (the red nipple).
<img src="./images/charybdis-keyboard/001.jpg" width="100%" title="A close approximation" />
Other than special circumstances, I do not use a mouse. That way my hands stay on the home row of keyboard the whole time.
Given that I spend the vast portion of my days on a keyboard dealing with texts and code, a new and better keyboard makes sense.
A **mechanical** one goes without saying.
### But what keyboard layout to get?
[[75% keyboard->1a150154]]
[[Ergonomic keyboard->11697760]]
[[Split keyboard->36a2d07a]]
<!-- 75% keyboard -->A 75% keyboard is a great choice. It has just the right amount of keys.
<img src="./images/charybdis-keyboard/002.jpg" width="100%" />
Any smaller and I struggle to get to the keys I need. Any larger, my hands have to move.
There is one problem though: the nipple. Not many models come with it.
<img src="./images/charybdis-keyboard/003.jpg" width="100%" />
Of those that do, they may not come with the key-layout I'm willing to live with.
The point here is: I'm not using a mouse.
[[Try again->Start]]
<!-- Ergonomic keyboard -->Looks cool.
<img src="./images/charybdis-keyboard/004.jpg" width="100%" />
Only because it's funkier than a vanilla keyboard. But once you think about it, it's not that much different than a regular keyboard.
The things about most keyboard is they force you to put your hand together in ways that close your chest off. You end up hunching even if you don't meant to.
[[Try again->Start]]
<!-- Split keyboard -->I have two hands. My keyboard should go to where my hands are on each side; it's not for my hands to accommodate the keyboard by going to the middle.
This gets hardcore, fast.
<img src="./images/charybdis-keyboard/005.jpg" width="100%" />
Still, this has no pointing device.
And if I could split the keyboard, why stop there? Where is the ergonomics?
Which design should I go with?
[[MoErgo Glove80->31fa399e]]
[[Dactyl-ManuForm->69fb1e17]]
[[Dilemma->df0d24fb]]
[[Charybdis->eeae3059]]
<!-- MoErgo Glove80 -->This is called Glove80.
<img src="./images/charybdis-keyboard/006.jpg" width="100%" title="Glove80" />
The surface curves to fit the fingers.
There's right amount of keys. All keys are reaachable without lifting the hand.
But...
There is no pointing device. This is out.
[[Try again->36a2d07a]]
<!-- Dactyl-ManuForm -->This is called the Dactyl-ManuForm.
<img src="./images/charybdis-keyboard/007.webp" title="Dactyl-ManuForm" />
It's an open source design. It matters in some pragmatic ways, but not ideologically for me.
The smaller surface area looks even more appealing.
Until I realize there is a few keys too little. I'm going to have to do a lot of layering nonsense to get to non-alphanumeric keys.
Also, no pointing device. This is out.
[[Try again->36a2d07a]]
<!-- Dilemma -->This is called Dilemma.
<img src="./images/charybdis-keyboard/008.jpg" width="100%" title="Bastard Dilemma" />
Also an open source design.
What I think is the trackpad there looks questionable.
It has no curved surface like the rest.
The lack of a sturdy frame around it makes look filmsy.
This is almost it but not quite.
[[Try again->36a2d07a]]
<!-- Charybdis -->This is called Charybdis.
<img src="./images/charybdis-keyboard/009.jpg" width="100%" title="Bastard Charybdis" />
There is a right amount of keys.
The trackball sits at the right place, I don't have to struggle to reach it.
It curves beautifully.
This could work.
### How am I going to get one?
My options are:
[[Buy the kit, assemble it myself->af4c65f3]]
[[Buy the kit, get others to assemble it->80f111f0]]
[[Buy a custom-made one->125d66dc]]
<!-- Assemble it myself -->There exist an entire keyboard-scene I'm not part of.
I don't have the space, tools, time and interest to assemble a keyboard myself. For a model of this calibre, I'm certain I'm going to screw this up.
I'm in this for the end-product, not the journey.
[[Try again->eeae3059]]
<!-- Buy the kit, get others to assemble it -->I've located two hobbyists who offer services to assemble keyboards.
However the assembly kit for Charybdis can't found in Malaysia, unlike other models.
I subsequently found plenty of kits for sale in AliExpress.
But turn out AliExpress has merchants who build keyboards to order too, including Charybdis.
[[Why not buy one off the shelf?->125d66dc]]
<!-- Buy a custom-made one -->I've found a merchant who has ready-built units of Charybdis ready to ship.
The price beats me acquiring the kit and pay for assembly-service.
But this is AliExpress, merchants are known to be dodgy.
If things don't work out, returning a product is not as simple of visiting a neighborhood store.
What do I do next?
[[Pick another keyboard model that is sold in Malaysia->7df1c0cd]]
[[Take a chance with AliExpress->80f411f0]]
<!-- Pick another keyboard model that is sold in Malaysia -->No, I'm not settling for a lesser design.
I've set my mind on the Charybdis.
<!-- Take a chance with AliExpress -->I researched store policies.
I sent questions to the merchant to test their responsiveness. They came out stellar.
### Wired or wireless?
I do get an interesting choice though: should I have a wire to connect between two sides of the keyboard?
[[Wireless->8e25758f]]
[[Wired->958cc5e2]]
<!-- Wireless -->If there is no wire involved in this setup, it does mean that the keyboard can be placed in any configuration.
The desk space setup is not hamstrung is anyway.
It's possible to even place them on my chair's armrests if I set them up for that.
But I value **longevity**. I want this keyboard to stick around for a long time.
A wireless setup adds a few more variables into the mix, increasing the chances of malfunction.
[[Try again->80f411f0]]
<!-- Wired -->It's not as cool as being wireless, but it's more **durable**.
I went with the wired version. I placed the order.
However before the keyboard arrives, there is one more problem to be solved.
[[Table space problem->ddf54db1]]
<!-- Table space problem -->My table as it was did <strong>not</strong> have the space for an extra keyboard.
<img src="./images/charybdis-keyboard/010.jpg" width="100%" title="Work desk" />
My options are:
[[Place the keyboard on each side of the laptop->c2338a2d]]
[[Get a new table->125d66d]]
[[Extend the table surface->80f911f0]]
<!-- Place the keyboard on each side of the laptop -->Things look real ugly and uncomfortable.
Furthermore, laptop emits unbearable heat on the right side.
This can't do.
[[Try again->ddf54db1]]
<!-- Get a new table -->Getting a new table is overkill.
I like the current setup, it does not need a wholesale teardown.
[[Try again->ddf54db1]]
<!-- Extend the table surface -->If I could get a piece of **wooden board** with the right dimension. Replacing the lower layer of the table would create more space.
I haven't had the need to acquire a wooden board for anything before, until now.
Where do I get them from?
[[Custom-cut by professional carpenter->01c2df06]]
[[Buy from retail hardware shop->4b77f24c]]
[[Order online->71dc2451]]
[[Order from Shopee?!->0b8c9df1]]
<!--Custom-made by professional carpenter-->Ordering a customs-sized board from a professional carpenter was probably the way it was done back in the days.
But today the cost would be so prohibitive I'll be better off buying a new table.
My current table is just nice. Changing it wholesale does not make sense.
[[Try again->80f911f0]]
<!--Buy from retail hardware shop-->Hardware shops are everywhere.
But hardly any of them do custom work of this extent. The most they would go is cutting a piece of rod to the length you want.
A table board would be out of the question.
[[Try again->80f911f0]]
<!--Order wooden board online-->There has to be specialist business whom I could order from online.
Indeed, Google searches has a few who run their own e-commerce site. And they do deliver to the door step.
As expected, they charge based on the surface area of the board. The larger the costlier, naturally.
However, the unit cost added up to something unacceptable.
[[This is no go->80f911f0]]
<!--Order from Shopee-->Wait. Ordering a custom-sized wooden board from Shopee? Is it even possible?
After a brief search, turns out yes, there are plenty of merchants selling wooden boards.
But... how does one specify a custom dimension that result in a custom-price? After all, standard e-commerce sites are designed for fungible products with similar prices.
So I hit a merchant for a chat.
I told them the dimension wanted and the board type; they came back with a price quote. In my case, about RM75. From the price quote, I'm supposed to go to a different product of theirs where the price is RM1.
From there, I made an order with the quantity of 75.
They then do the hard work of making the connection between this order and the chat.
[[So then I waited for it to arrive->d1e3642d]]
<!-- Wooden board arrived -->The wooden board took about less than one week to arrive.
It even came with corner covers. They knew I'm using it for a table.
Now come the installation.
I wasn't totally confident I wouldn't end up ruining it, but it took less than an hour to unscrew the old board and screw in the new one.
With that, there is now space for a new keyboard to sit on.
<img src="./images/charybdis-keyboard/011.jpg" width="100%" title="Desk space extended" />
[[Now I wait for the keyboard to arrive->a54059b7]]
<!-- Keyboard arrived -->The keyboard took about one and a half week to arrive from China.
I was being extra careful with the unboxing. Once unpacked, it was pretty much plug and play.
<img src="./images/charybdis-keyboard/012.webp" width="100%" title="My Charybdis" />
Now comes the time to take it for a spin. What should I use it for?
[[Play games->cc410397]]
[[Write prose->bd9ff505]]
[[Coding->bd9ff505]]
<!--Play games-->Playing games with this is a good idea. On paper.
After all, it glows. I turn off the LED glow, but the fact that it does makes it all the more game-friendly.
The problem though, is WASD.
[[What?->e694b2e2]]
<!--Continue on using this for gaming-->Most games are pre-configured for WASD directional control-scheme.
But W is not where my left middle finger would land on. That key would be E.
ESDF would be my equivalent of WASD. But no game is configured to use ESDF for directional control.
Sure I could reconfigure every game to use my key settings, but it's not as simple as it sounds.
If E were to replace W, then what the game uses for E would also have to be replaced. This situation cascades to all keys involved.
The effort to reconfigure everything could be worth it but I doubt it.
[[Let's keep to writing->a54059b7]]
<!--Coding and writing prose-->Let's do some real typing.
The first problem, you may notice: there are no labels on the key caps.
Standard characters aside, it's not easy to remember where everything else is.
I need a way to refer to the <a href="https://docs.bastardkb.com/fw/default-keymaps.html#charybdis" target="_blank">default key mapping</a>.
[[Print them on paper->89ce6f79]]
[[Open it on my phone->mqm27BHC]]
[[Display on second monitor->96fb48f3]]
<!--Print keymaps on paper-->Have the keymaps printed on paper.
<img src="./images/charybdis-keyboard/013.png" width="100%" />
Well, I don't have a printer at home.
I could have it printed in the office. But making a trip just for this is overkill.
But before I even entertain printing anything, it didn't take long before I realize I would [[customize the keymap away->2dkkwqut]] from the default.
[[Try again->bd9ff505]]
<!-- Display key map phone -->Anytime I need to see the keymap again, I could turn on the phone.
<img src="./images/charybdis-keyboard/014.png" width="100%" />
But the screen is too small for this to be efficient.
I might as well use the [[laptop monitor->96fb48f3]] instead.
<!-- Display key map on laptop monitor -->The laptop monitor is the perfect extra screen estate to have the keymapping displayed constantly.
<img src="./images/charybdis-keyboard/015.png" width="100%" />
When I'm stumped, I simply tilt my head downward to look for the key I want.
This went on for <em>two months</em> before I stopped having to.
But it did not take long for the default key mapping to be inadequate.
Some key placements did not make sense.
Worse, the tilde <code>`</code> key was nowhere to be found. I need that to write in Markdown, it is not optional.
[[Time to map the keys the way I want it->2dkkwqut]]
<!-- Customize keymap with VIA -->I thought customize key maps would involve installing firmware-writing software or something. I wish I would not have to do it so I didn't do the homework on how, until now.
How naive of me.
Turned out the scene has advanced to the point where this whole business can be done through a web application: <a href="https://www.usevia.app/" target="_blank">VIA</a>.
But not so fast. Upon first load, it doesn't work on Firefox.
[[Run it on a Chromium-derivative browser->BlQXBcLh]]
<!-- Run it on a Chromium-derivative browser -->I opened <a href="https://www.usevia.app/" target="_blank">VIA</a> with Brave browser.
It's almost there but not quite.
The browser has no permission to write to device.
I'm supposed to find the device file first. So I open <code>chrome://device-log</code> in browser to find out.
After I got the answer, I run <code>sudo chmod a+rw /dev/hidraw<:id></code>
This has to be done every time a key mapping takes place.
At some point you have to ask, [[is this all these trouble worth it?->E5VMWqzE]]
<!-- is this all worth it? -->I got myself a keyboard where I don't know which key is what. I'm manufacturing problems for myself.
It's like having to learn how to walk all over again.
This is downright self-harm.
[[It's easier sticking with a conventional keyboard->D9rXNjDV]].
[[No. Jump in and learn, head first->mgvneJGS]].
<!-- It's easier sticking with a conventional keyboard -->A conventional keyboard is much easier.
But no. [[We talked about this->1a150154]].
<!-- Jump in and learn, head first -->I've learned <em>Emacs</em> in the past.
After many years, I adopted <em>Spacemacs</em> with their space-based keybindings, while retaining conventional Emacs keybindings.
<img src="./images/charybdis-keyboard/016.png" />
After many years again, I bit the bullet and learned <em>Vim</em> mode. I now use Spacemacs in evil-mode as it is intended.
This is clearly the superior method in ways that can't be explained until you've gained the skills.
There's no way to do that other than jumping in, head first.
[[But there is so much friction in the meantime.->oHXXyiuc]]
[[How do I know if the outcome is worth it?->oHXXyiuc]]
<!-- Learning is its own reward -->The whole point of this endeavour is to learn a new and powerful tool.
If it's easy, everybody would've done it. The edge would be lost.
Furthermore, perhaps only a masochistic man would say this: the struggle is part of the fun.
[[The END->Start]]