snix/users/sterni/acme/mkbqnkeyboard.md
sterni 67affb7b46 docs(sterni/acme): move mkbqnkeyboard.bqn docs into its own file
I'll probably have this added to the BQN website's editor support page.
It'll probably be less confusing if the page people are sent to doesn't
have information on random, semi-related stuff.

Change-Id: I75e03afea1362e022923ef8781b35113bf26b2e9
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13116
Autosubmit: sterni <sternenseemann@systemli.org>
Reviewed-by: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2025-02-07 20:27:17 +00:00

2.8 KiB

mkbqnkeyboard.bqn

mkbqnkeyboard.bqn is a script that updates a given Plan 9 /lib/keyboard file to support the familiar BQN keymap via compose sequences. Since it uses the GNU Readline inputrc distributed with BQN as a database for the keymap, you can use a remapped version of the layout. Once applied, you'll be able to type the Unicode characters used by BQN via Compose followed by \ and the mapped ASCII character. For details on the file and what button is used for Compose, refer to keyboard(6) (see also plan9port's keyboard(7), 9front's keyboard(6) etc.).

TIP: mkbqnkeyboard.bqn has only been tested with plan9port, so the instructions below may not work with every Plan 9 variant. If you have any any information on/trouble with getting it to work on a proper Plan 9 (fork), feel free to let me know or send a patch.

The process for updating /lib/keyboard with mkbqnkeyboard.bqn is a follows:

  1. Prerequisites:

    • CBQN (other BQN implementations are untested)
    • A local checkout of mlochbaum/BQN, aecb56a323aa is the latest tested revision.
  2. Run

    ./mkbqnkeyboard.bqn -i /path/to/mlochbaum/BQN/editors/inputrc /path/to/lib/keyboard
    

    If you omit -i, the modified keyboard file will be printed to stdout instead of written to the file. If you add -s, the result will be sorted by (resulting) codepoint.

  3. If you're using plan9port, you'll need to

    1. Apply latin1-increase-compose-capacity.patch since the default compose sequence lookup table is too small to hold all the mappings BQN adds.
    2. Recompile plan9port.

    Other Plan 9 variants may also require extra steps.

  4. The compose sequences should now work in the acme and sam text editors as well as all other Plan 9 programs.