This commit is contained in:
rhiannon morris 2022-01-10 01:26:49 +01:00
commit 8e42f06716
5 changed files with 258 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
*.db

23
Makefile Normal file
View File

@ -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)

26
README.md Normal file
View File

@ -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

BIN
bqn.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

208
bqn.txt Normal file
View File

@ -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 <rhi@rhiannon.website>
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 \<SP>
\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 :