snix/users/sterni/acme/README.md
sterni df49c51c99 docs(sterni/acme): document mkbqnkeyboard.bqn
Change-Id: Ifc2fd45712bda4d7700b3ba0dea571ee3f7fde0c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13100
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2025-02-05 15:20:42 +00:00

3 KiB

//users/sterni/acme

Utilities and configurations related to the acme text editor from Plan 9.

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.