10000 Supplementary macro keyboard ideas with five rows of four (with knobs) · Issue #3 · peterjc/kana-chording-ke · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
This repository was archived by the owner on May 25, 2025. It is now read-only.

Supplementary macro keyboard ideas with five rows of four (with knobs) #3

Open
peterjc opened this issue Jan 26, 2025 · 8 comments
Open

Comments

@peterjc
Copy link
Owner
peterjc commented Jan 26, 2025

Brain dump:

Issue #2 looked at 15 keys macro keyboards with three rows of five (or five rows of three), but here's one sold on Ali Express with 20 keys and even more knobs on the right:

Image

We could combine the romaji-based Godan キーボード 15 key flick-keyboard with an idea from #1, and give explicit keys to everything with a ten-ten version (adding G, Z, D, and B) or maru (adding P) as a fourth column:

a/ m/ k/ g/
i/ y/ s/ z/
u/ r/ t/ d/
e/ w/ n/ p/
o/ x/l/ h/ b/

This re-ordering of the middle columns is based on Japanese vertical sorting top to bottom, right to left (a, ka, sa, ta, na, ma, ya, ra, wa), but with h/ moved to have it next to it's modified forms.

This eliminates almost all of the swipe actions needed with godan for typing basic Japanese, the rest handled punctuation, numbers, and the remaining English letters for international use (not important if this is to be a supplementary keyboard).

Essentially this would be just a remapped subset of A-Z in a mostly logical layout for typing romaji - although chording could be done with the left hand taking the first column, and the right hand taking the other three (and the keyboard placed centrally on a diagonal). That only seems useful if the OS doesn't have Japanese input setup, then we could sent raw unicode hex for the desired kana?

So, a cut down set of just 20 out of 26 English letters able to type the romaji for almost every kana.

This doesn't include any Japanese punctuation, nor the letter V needed for the rare ゔ/ヴ, entered as "va"/"VU" in romaji. The other letters are in fact not needed - Q isn't used in any romanizations, while C, F and J are specific to the Hepburn system to better match English pronunciation. Note computer entry of romaji treats the prefix X and L (little) the same.

However, perhaps the key which just needs to send the prefix x or l for making a small kana (where supported), might also work as a shift? e.g. Tap once to send l, but hold to turn the other keys into punctuation?

As discussed on #1, the user would also need some additional keys to interact with the kanji selection (IME software). The clickable scroll wheels should cover the essentials once remapped, perhaps:

Main wheel:

  • Twist: down/up or space/shift-space to change a suggestion
  • Click: enter to accept a suggestion

Second wheel:

  • Twist: left/right to change which word/chunk is being processed (usually type in a sentence at a time, then adjust the auto-suggestions)
  • Click: escape to leave the kanji suggestions and go back to editing the kana (not an obvious mechanism)

Third wheel:

  • Anticlockwise: Backspace?
  • Clockwise: Delete?
  • Click: Insert?

That would leave a small wheel on the four-knob device pictured available for mainstream controls like volumn/mute, prev/next/pause, or zoom/reset-zoom.

Note this doesn't have a shift key to explicitly select katakana, for which the IME would have to be used.

@peterjc
Copy link
Owner Author
peterjc commented Jan 26, 2025

On reflection if the keyboard reprogramming supports layers, the final scroll wheel could toggle between the above lower-case romaji layout, a number pad, punctuation and the 6 missing English letters.

The key as a shift idea should still be easier for entering Japanese punctuation, especially hyphen (for long vowels), full stop (), comma (), question mark (), exclamation mark (), quotes ( and ), slash for central dot (), ...

Update: Or perhaps could be X (or L) on a single press as a small kana prefix, but - on a long-press, or double tap? This or the shift idea would need a programmable macropad or something like Karabiner Elements running on the host computer.

@peterjc
Copy link
Owner Author
peterjc commented Jan 30, 2025

Entry of the following composite kana is be possible in at least two ways with this reduced keyboard (here assuming x rather than l as the 大⬄小 key). Note for some macOS is defaulting to the katakana not hiragana:

ki plus small kana:

きゃ : kixya / kya
きぅ : kixyu / kyu
きょ : kixyo / kyo

きぁ : kixa ← combination not used?
きぃ : kixi / kyi
きぅ : kixu ← combination not used?
きぇ : kixe / kye
きょ : kixo ← combination not used?

gi plus small kana:

ぎゃ : gixya / gya
ぎょ : gixyu / gyu
ぎょ : gixyo / gyo

ぎぁ : gixa ← combination not used?
ぎぃ : gixi / gyi
ぎぅ : gixu ← combination not used?
ぎぇ : gixe / gye
ぎぉ : gixo ← combination not used?

ku plus small kana:

くゃ : kuxya / qya ← won't have Q
くゅ : kuxyu / qyu ← won't have Q
くょ : kuxyo / qyo ← won't have Q

くぁ : kuxa / kwa / qa / qwa ← won't have Q
くぃ : kuxi / kwi / qi / qwi / qyi ← won't have Q
くぅ : kuxu / kwu / qi / qwu ← won't have Q
くぇ : kuxe / kwe / qe / qwe / qyi ← won't have Q
くぉ : kuxo / kwo / qo / qwo ← won't have Q

gu plus small kana:

ぐぁ : guxa / gwa
ぐぃ : guxi / gwi
ぐぅ : guxu / gwu
ぐぇ : guxe / gwe
ぐぉ : guxo / gwo

shi plus small kana:

しぁ : sixa / sya / sha
しぃ : sixi / sya / shi
しぅ : sixu / syu / shu
しぇ : sixe / sye / she
しぉ : sixo / syo / sho

zi plus small kana:

じゃ : zixya / zya / ja
じゅ : zixyu / zyu / ju
じょ : zixyo / zyo / jo

じぁ : zixa ← combination not used?
じぃ : zixi / zyi / ji
じぅ : zixu  ← combination not used?
じぇ : zixe / zye / je
じぉ : zixo  ← combination not used?

su plus small kana:

すぁ : suxa / swa
すぃ : suxi / swi
すぁ : suxa / swu
すぇ : suxi / swe
すぅ : suxu / swu

Likewise with ta-row (won't have C, but e.g. tya, tsa, tha, twa), ha-row (e.g. fya, fwa, fa, fye, fye), ba-row (va, vya).

So I think everything has a three-letter version the 20 key macropad could type, except くゃ くゅ くょ where lack the Q (so would need 5 letters here).

@peterjc
Copy link
Owner Author
peterjc commented Feb 10, 2025

As noted on #1 (comment) this is almost the M-type layout right hand 3x5 block plus the 1x5 home row from the left hand.

@peterjc
Copy link
Owner Author
peterjc commented Feb 15, 2025

My 20-key and 4-wheel keyboard arrived from AliExpress (as per the image earlier).

macOS says:

system_profiler SPUSBDataType
...
                Composite Device:

                  Product ID: 0x2107
                  Vendor ID: 0x4132
                  Version: 0.00
                  Speed: Up to 12 Mb/s
                  Location ID: 0x01112000 / 9
                  Current Available (mA): 500
                  Current Required (mA): 100
                  Extra Operating Current (mA): 0
...

Karabiner Elements recognises it as a keyboard:

    {
        "device_id": 4308910305,
        "device_identifiers": {
            "is_keyboard": true,
            "product_id": 8455,
            "vendor_id": 16690
        },
        "location_id": 17899520,
        "transport": "USB"
    },

Decimal 8455 = hex 0x2107 as the product ID, and decimal 16690 = hex 0x4132 as the vendor ID (presumably KeySilk as per the discrete branding on the front edge).

i.e. HID 4132:8455 KeySilk

Using Karabiner Elements EventViewer or just typing, the default behaviour is:

  • First row of buttons: 1, 2, 3, 4
  • Second row of buttons: 5, 6, 7, 8
  • Third row of buttons: 9, 0, a, b
  • Fourth row of buttons: c, d, e, f
  • Fifth row of buttons: g, h, i, j
  • Top left small knob (next to the "4" button): k, l, m, n, o (anticlockwise, press, clockwise, hold and anti-clockwise, hold and clockwise)
  • Top right small knob (in the corner): p, q, r, s, t (same movements)
  • Most central larger knob (below the small knobs): u, v, w, x, y (same movements)
  • Bottom right larger knob (in the corner): z, a, b, c, d (same movements)

So 20 simple keys, and four knobs each able to send 5 different keys, making 40 potentially unique signals. The knobs are stiff to press though.

Note the default layout duplicates a/b/c/d on the main keys and on the main knob control. That is extremely unfortunate as it means you have to reconfigure the keyboard - if they were all different by default I could remap everything in software 😢

The only documentation it came with was in Chinese, mostly QR codes to the KeySilk website including https://www.keysilk.com.cn/download.html which offers Windows and Mac downloads. The KeySilk Smart Keyboard.app was dated 26 July 2024 and was compiled for Intel CPUs only (so won't work on an Apple ARM CPU without installing Rosetta emulation).

P.S. There are two tiny slide switches just above the USB-C socket (above the "4" key), on/off, and LEDs on/off. The LEDs do some apparently rainbow effect - each key lights up for about 1s when pressed down.

P.P.S. If you wanted to use this as a 4x5 split keyboard (four rows of five), the most natural positioning is with the knobs above and the USB wire on the left.

You could turn this round, and have the knobs at the front and the USB wire on the right, and type over the knobs with a suitable wrist rest. However, using my right hand the thumb rests on the large corner knob and can easily scroll it - but pressing the knob with my thumb is not comfortable. This blocks using the corner key as thumb button ("j" on the default layout). I can also tuck in my thumb to scroll the middle large knob, but again not press it. I can also accidentally scroll the small knob in the other corner with my palm/wrist (sometimes accidentally), but I can easily press it. As a left-hand split keyboard with the knobs at the bottom it works slightly better.

The suggested orientation (20 keys on the left, knobs on the right, USB wire at the top) makes me think of a number-pad, and Japanese entry experiments aside, I will probably use it that way.

@peterjc
Copy link
Owner Author
peterjc commented Feb 15, 2025

The provided app works on an older Intel Mac, it has an English language setting but is only partially translated. I can at least see the default configuration as level 1:

Image

The "Help" link goes to http://www.coideakey.com/t/20 suggesting this is a "Coidea Smart keyboard". Page http://www.coideakey.com/t/10 is particularly helpful once translated (I think this was one of the QR code links). Double clicking a key should bring up the menu to choose the new action, but in English mode I just get these almost empty menus:

Image

Switching back to Chinese it works - although the menu listing is a little different, but the first is basic keys (pretty clear, and mostly in English anyway), and last is back (exit menu):

Image

The third set is media controls - see http://www.coideakey.com/t/12 but I recognise some from Japanese kanji and could confirm the rest by experiment and translating my guesses to simplified Chinese:

  • 静音 = Mute
  • 音量- = Volume down
  • 音量+ = Volume up
  • 播放暂停 = Play/Pause
  • 停止 = Stop
  • 下一曲目 = Previous track
  • 上一曲目 = Next track
  • 屏幕亮度+ = Screen brightness up
  • 屏幕亮度- = Screen brightness down
  • Something screen related, appears to do nothing on macOS?

I'm inferring the second to bottom section is layer switching (I recognize the above/below/one/.../ten kanji). [Update: Yes, layer change confirmed]

Note that when sending the multimedia actions, Karabiner Elements cannot see the events.

TODO: Explore the mouse options (I want to map the main knob to the mouse-wheel for scrolling), and shortcuts (e.g. switching tabs/windows with a knob).

@peterjc
Copy link
Owner Author
peterjc commented Feb 15, 2025

The block above "Procreate" are predefined short cuts, e.g.

  • 复制 - copy: ctrl down, c down, c up, ctrl up.
  • ...
  • 左标签 - left tab: ctrl down, shift down, tab down, tab up, shift up, ctrl up.
  • 右标签 - right tab: ctrl down, tab down, tab up, ctrl up.
  • ...

I'm trying 左标签 and 右标签 on one of the wheels for switching tabs.

Another block are track-pad shortcuts matching 安卓 (Android) or 苹果 (Apple) for 上划 (swipe up) etc.

@peterjc
Copy link
Owner Author
peterjc commented Feb 15, 2025

Scroll wheel mapped! Use this menu section, and define a new action!

Image
  1. Give it a name like "Mouse scroll up" in the box top right.
  2. Click on 鼠标 (mouse) in the bottom box, first row on the left.
Image
  1. On the popup, click the third tab 滚动 (scroll) and pick +3 for down (-3 for up), click the OK (?) bottom right. Using three seems to match my mouse wheel, you may want smaller or larger increments.
  2. Click 输入 (enter) bottom right.
Image
  1. Click OK on the confirmation (probably saying save this new action)
  2. Double click on the new action to map it to a key as before

@peterjc
Copy link
Owner Author
peterjc commented Feb 16, 2025

Image

The first physical prototype of the RomajiPad works! This used paper printed inserts for the key labels using relabelable keycaps (two parts, a black base and a translucent cover). The numbers and arrows reflect the alternative number-pad layer.

In initial testing the Japanese full stop was wanted far more than the small key (which is not needed for small ya/yu/yo when entered as composite kana). Also explicit support for chording would be intuitive (a and k together in either order giving ka for か).

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant
0