TL:DR Can someone point me in the direction to implementing a custom keyboard xkb geometry? Or is it just as simple as sudo-editing the files and restarting?
A forward note: After days of trying to figure this out, I’m expecting no one to care about this topic. But, I’ll need to reference this in the future, once I get my final keyboard to install. Which I know, I will encounter plenty of the same issues, I have mentioned here.
Still reading? Good, because what I thought would be a simple “search and fix” has turned into a massive wormhole of circular information, spider webs of irrelevant information, and workarounds that do not solve any of my problems.
Okay… From the start. Thinkpad T430, with a fresh install of Manjaro xfce. (a week or so old)
Aftermarket JP keyboard physically installed. Updated my multilingual method from ibus-mozc/anthy(previous install, forgot which) to fcitx5-mozc.
I’ve, so far, gotten everything to work. Typing in English with my JP keyboard works perfectly. And, I do mean 100% perfectly. Every, single, key, is accurate to the physical keyboard layout. Even the keys that are not listed in the corresponding xkb files that are in use.
However, switching the keyboard input method to the mozc layer is where everything gets a bit random. 21 keys don’t register what they are suppose to. Example, ろ(ro), is input as む(mu), most of my lower case kana are all misaligned, all my symbol keys are in random places (and input methods [e.g. instead of typing け(ke) which is the colon-key I need to type Shift+7{which is suppose to be ゃ(small ya)}]) Not to mention I have 5 keys/key combinations that output the exact same kana, れ(re)…
Now, what I think might be happening is fcitx5 is messing something up when it’s interpreting the keyboard layout when I activate mozc.
I have used
xev -event keyboard
to manually map out every keycode, and every keysym, of every single key on my keyboard, and saved it to a txt file. So I know the keys are registering, and referencing them all to the xkb files they seem accurate, mostly. [Except for the 4 keys that are literally missing from the geometry files.]
No matter how hard I search I keep coming up with “use xmodmap to replace keys” or “use this command with options to set up custom keyboard layout switching” which I know won’t work for me. Since I know all my keys work, and they register. What I’ve been searching for is a method to manually input a custom xkb geometry to make sure that my keyboard is perfectly laid out and referenced properly. Then find out the exact method that fcitx5 uses to reference the keyboard geometry.
The main reason I think it might be a keyboard geometry problem, is all the basic non-shifted keys in the mozc layer work. 1 to 0, Q to P, A to semi-colon, and Z to ?. 40 total keys all properly referenced in the xkb files. Everything else, shifted or otherwise, is mostly, not working.
Now, searching for accurate documentation pulls up spiderwebs of irrelevant information. Everything links to something else, and everything is worded in such a way that it seems like the people who wrote them wanted to be as vague as they could on purpose.
The number of things that I learned while searching online for this issue, I can count on 1 hand, and 3 of them are strictly command line diagnosis commands. Everything else I learned strictly trying to decipher all the xkb files.
Which is why I have almost 0 insight into how fcitx5-mozc is handling it’s keyboard interpretation. Searching online says there is a mozc.xml somewhere that could fix the issue. This file is absent on my system.
Once I figure out more information, I’ll post here again. This is mainly for my benefit, since I know I will need to go through this process at least once more, when I buy and install my new keyboard. It will have a similar layout, but there are even more unregistered keys, just by looking at comparisons, and the xkb files.
So, once I learn more, I’ll post an update. If someone has a lead to point me in a useful direction, it would be much appreciated.
J