commit 8e42f0671659111d94b3e6ee3ed21363d848e750 Author: rhiannon morris Date: Mon Jan 10 01:26:49 2022 +0100 first diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..98e6ef6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*.db diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..6099221 --- /dev/null +++ b/Makefile @@ -0,0 +1,23 @@ +PREFIX ?= /usr + +DB := bqn.db +ICON := bqn.png +OUT := $(DB) $(ICON) + +INSTALL := $(PREFIX)/share/ibus-table + +%.db: %.txt + ibus-table-createdb -s $< -n $@ + +.PHONY: all +all: $(DB) + +.PHONY: install +install: $(DB) $(ICON) + mkdir -p $(INSTALL)/tables $(INSTALL)/icons + cp $(DB) $(INSTALL)/tables + cp $(ICON) $(INSTALL)/icons + +.PHONY: clean +clean: + rm -f $(DB) diff --git a/README.md b/README.md new file mode 100644 index 0000000..c480d36 --- /dev/null +++ b/README.md @@ -0,0 +1,26 @@ +# ibus input method for [bqn] + +now you can write in any window with the same [map] as the web demo!!! wow + +## requirements + +- ibus (i dont remember how to actually set it up sorry) +- ibus-table + +## installation + +- `sudo make install`[^sudo] +- `ibus-daemon --daemonize --replace` +- add the input method in ibus and have fun + +## deficiencies + +- ibus-table doesn't seem to allow a map for `\␠`, so `‿` is mapped to `\n` instead +- i might have messed up somewhere without noticing +- the popup is kind of distracting + +[^sudo]: i tried a few places in `~/.local` and stuff but none of them seemed to + work. if you know where to put user-local tables hmu + +[bqn]: https://mlochbaum.github.io/BQN +[map]: https://mlochbaum.github.io/BQN/keymap.html diff --git a/bqn.png b/bqn.png new file mode 100644 index 0000000..1e255d4 Binary files /dev/null and b/bqn.png differ diff --git a/bqn.txt b/bqn.txt new file mode 100644 index 0000000..ebdf471 --- /dev/null +++ b/bqn.txt @@ -0,0 +1,208 @@ +SCIM_Generic_Table_Phrase_Library_TEXT +VERSION_1_0 + +### Begin Table definition. +BEGIN_DEFINITION +UUID = 695258b4-7191-11ec-86c5-0f25b3d2e61e +SERIAL_NUMBER = 20220109 +LICENSE = BSD3 +ICON = bqn.png +NAME = BQN +DESCRIPTION = Input BQN's operators using (almost) the same shortcuts as the web demo +AUTHOR = rhiannon morris +LANGUAGES = +STATUS_PROMPT = ⍋ +DYNAMIC_ADJUST = FALSE +DEF_FULL_WIDTH_PUNCT = FALSE +DEF_FULL_WIDTH_LETTER = FALSE +MAX_KEY_LENGTH = 2 +VALID_INPUT_CHARS == \~`!1@2#3$4%5^6&*8(9)0_-+=QqWwEeRrTtuIiOoPp{}[]AaSsdFfGgHhjKkLl:;"'ZzXxcVvBbnMm<,>.?/ +LAYOUT = default +USER_CAN_DEFINE_PHRASE = FALSE +PINYIN_MODE = FALSE +AUTO_COMMIT = TRUE +AUTO_SELECT = FALSE +COMMIT_KEYS = space,Return +END_DEFINITION + + +### if you need to extend this: +### - add the character to VALID_INPUT_CHARS above +### - add a self map e.g. "N N 1" +### - add the \N map +### - separate the fields with tab not space! +### that includes a tab before a comment!!! + +BEGIN_TABLE +\ \ 1 +~ ~ 0 +` ` 0 +! ! 0 +1 1 0 +@ @ 0 +2 2 0 +# # 0 +3 3 0 +$ $ 0 +4 4 0 +% % 0 +5 5 0 +^ ^ 0 +6 6 0 +& & 0 +* * 0 +8 8 0 +( ( 0 +9 9 0 +) ) 0 +0 0 0 +_ _ 0 +- - 0 ++ + 0 += = 0 +Q Q 0 +q q 0 +W W 0 +w w 0 +E E 0 +e e 0 +R R 0 +r r 0 +T T 0 +t t 0 +u u 0 +I I 0 +i i 0 +O O 0 +o o 0 +P P 0 +p p 0 +{ { 0 +} } 0 +[ [ 0 +] ] 0 +A A 0 +a a 0 +S S 0 +s s 0 +d d 0 +F F 0 +f f 0 +G G 0 +g g 0 +H H 0 +h h 0 +j j 0 +K K 0 +k k 0 +L L 0 +l l 0 +: : 0 +; ; 0 +" " 0 +' ' 0 +Z Z 0 +z z 0 +X X 0 +x x 0 +c c 0 +V V 0 +v v 0 +B B 0 +b b 0 +n n 0 +M M 0 +m m 0 +< < 0 +, , 0 +> > 0 +. . 0 +? ? 0 +/ / 0 +\! ⎉ 0 +\" ˙ 0 +\# ⍟ 0 +\$ ◶ 0 +\% ⊘ 0 +\' ↩ 0 +\( ⟨ 0 +\) ⟩ 0 +\+ ⋆ 0 +\, ∾ 0 +\- ÷ 0 +\. ≍ 0 +\/ ≠ 0 +\& ⍎ 0 +\* ⍕ 0 +\0 • 0 +\1 ˘ 0 +\2 ¨ 0 +\3 ⁼ 0 +\4 ⌜ 0 +\5 ´ 0 +\6 ˝ 0 +\8 ∞ 0 +\9 ¯ 0 +\: · 0 +\; ⋄ 0 +\< ≤ 0 +\= × 0 +\> ≥ 0 +\? ⇐ 0 +\@ ⚇ 0 +\A ↖ 0 +\B ⌈ 0 +\E ⍷ 0 +\F 𝔽 0 +\G 𝔾 0 +\H « 0 +\I ⊑ 0 +\K ⌾ 0 +\L » 0 +\M ≢ 0 +\O ⊒ 0 +\P ⍳ 0 +\Q ↙ 0 +\S 𝕊 0 +\T ⍋ 0 +\V ⍒ 0 +\W 𝕎 0 +\X 𝕏 0 +\Z ⋈ 0 +\[ ← 0 +\\ \ 0 +\^ ⎊ 0 +\_ √ 0 +\` ˜ 0 +\a ⍉ 0 +\b ⌊ 0 +\c ↓ 0 +\d ↕ 0 +\e ∊ 0 +\f 𝕗 0 +\g 𝕘 0 +\h ⊸ 0 +\i ⊏ 0 +\j ∘ 0 +\k ○ 0 +\l ⟜ 0 +\m ≡ 0 +\n ‿ 0 ### ibus-table doesn't seem to allow \ +\o ⊐ 0 +\p π 0 +\q ⌽ 0 +\r ↑ 0 +\R 𝕣 0 +\s 𝕤 0 +\t ∧ 0 +\u ⊔ 0 +\v ∨ 0 +\w 𝕨 0 +\x 𝕩 0 +\z ⥊ 0 +\{ ⊣ 0 +\} ⊢ 0 +\~ ¬ 0 +END_TABLE + +### vim: set sts=8 noet tw=0 :