From 2696f42144f42b1c4c270555047d40095693d3c4 Mon Sep 17 00:00:00 2001 From: Jules Aguillon Date: Sun, 21 Jul 2024 23:37:07 +0200 Subject: [PATCH] Allow extending the compose key (#713) This allows adding more compose sequences without modifying en_US_UTF_8_Compose.pre. This is done by grouping sequences files that should be merged together into a directory. This also allows moving keysymdef.h into that directory. --- CONTRIBUTING.md | 6 +++ build.gradle | 2 +- srcs/compose/README.md | 4 +- srcs/compose/compile.py | 36 +++++++++++++----- .../{ => compose}/en_US_UTF_8_Compose.pre | 0 srcs/compose/compose/extra.json | 5 +++ srcs/compose/{ => compose}/keysymdef.h | 0 srcs/juloo.keyboard2/ComposeKeyData.java | Bin 81066 -> 81063 bytes srcs/juloo.keyboard2/KeyValue.java | 2 +- 9 files changed, 43 insertions(+), 12 deletions(-) rename srcs/compose/{ => compose}/en_US_UTF_8_Compose.pre (100%) create mode 100644 srcs/compose/compose/extra.json rename srcs/compose/{ => compose}/keysymdef.h (100%) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 55b6707..dfc7f18 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -190,6 +190,12 @@ As translations need to be updated regularly, you can subscribe to this issue to receive a notification when an update is needed: https://github.com/Julow/Unexpected-Keyboard/issues/373 +### Adding Compose key sequences + +New Compose sequences can be added into `srcs/compose/compose/extra.json`. +If a entirely new family of sequences were to be added, a new `.json` file can +be created in the same directory to host them. + ### Adding key combinations Key combinations are defined in `srcs/juloo.keyboard2/KeyModifier.java`. diff --git a/build.gradle b/build.gradle index 8b3c6fd..4b467ad 100644 --- a/build.gradle +++ b/build.gradle @@ -151,7 +151,7 @@ tasks.register('compileComposeSequences') { println "\nGenerating ${out}" exec { def sequences = new File(projectDir, "srcs/compose").listFiles().findAll { - it.name.endsWith(".pre") || it.name.endsWith(".json") + !it.name.endsWith(".py") && !it.name.endsWith(".md") } workingDir = projectDir commandLine("python", "srcs/compose/compile.py", *sequences) diff --git a/srcs/compose/README.md b/srcs/compose/README.md index a3cfdb3..fff4941 100644 --- a/srcs/compose/README.md +++ b/srcs/compose/README.md @@ -3,6 +3,8 @@ The `compose.py` program parses the compose sequences found in this directory and generates `srcs/juloo.keyboard2/ComposeKeyData.java`. -## `en_US_UTF_8_Compose.pre` +## `compose/en_US_UTF_8_Compose.pre` This file is copied from the `xorg` project. Copyright applies. + +## `compose/extra.json` diff --git a/srcs/compose/compile.py b/srcs/compose/compile.py index 74fee79..fe4fe9f 100644 --- a/srcs/compose/compile.py +++ b/srcs/compose/compile.py @@ -12,20 +12,18 @@ from array import array # Parse symbol names from keysymdef.h. Many compose sequences in # en_US_UTF_8_Compose.pre reference theses. For example, all the sequences on # the Greek, Cyrillic and Hebrew scripts need these symbols. -def parse_keysymdef_h(): - with open(os.path.join(os.path.dirname(__file__), "keysymdef.h"), "r") as inp: +def parse_keysymdef_h(fname): + with open(fname, "r") as inp: keysym_re = re.compile(r'^#define XK_(\S+)\s+\S+\s*/\*.U\+([0-9a-fA-F]+)\s') for line in inp: m = re.match(keysym_re, line) if m != None: yield (m.group(1), chr(int(m.group(2), 16))) -xkb_char_extra_names = dict(parse_keysymdef_h()) - dropped_sequences = 0 # Parse XKB's Compose.pre files -def parse_sequences_file_xkb(fname): +def parse_sequences_file_xkb(fname, xkb_char_extra_names): # Parse a line of the form: # : "~" asciitilde # TILDE # Sequences not starting with are ignored. @@ -99,13 +97,30 @@ def parse_sequences_file_json(fname): return list(seqs.items()) # Format of the sequences file is determined by its extension -def parse_sequences_file(fname): +def parse_sequences_file(fname, xkb_char_extra_names={}): if fname.endswith(".pre"): - return parse_sequences_file_xkb(fname) + return parse_sequences_file_xkb(fname, xkb_char_extra_names) if fname.endswith(".json"): return parse_sequences_file_json(fname) raise Exception(fname + ": Unsupported format") +# A sequence directory can contain several sequence files as well as +# 'keysymdef.h'. +def parse_sequences_dir(dname): + compose_files = [] + xkb_char_extra_names = {} + # Parse keysymdef.h first if present + for fbasename in os.listdir(dname): + fname = os.path.join(dname, fbasename) + if fbasename == "keysymdef.h": + xkb_char_extra_names = dict(parse_keysymdef_h(fname)) + else: + compose_files.append(fname) + sequences = [] + for fname in compose_files: + sequences.extend(parse_sequences_file(fname, xkb_char_extra_names)) + return sequences + # Turn a list of sequences into a trie. def add_sequences_to_trie(seqs, trie): def add_seq_to_trie(t_, seq, result): @@ -238,9 +253,12 @@ public final class ComposeKeyData total_sequences = 0 tries = {} # Orderred dict -for fname in sys.argv[1:]: +for fname in sorted(sys.argv[1:]): tname, _ = os.path.splitext(os.path.basename(fname)) - sequences = parse_sequences_file(fname) + if os.path.isdir(fname): + sequences = parse_sequences_dir(fname) + else: + sequences = parse_sequences_file(fname) add_sequences_to_trie(sequences, tries.setdefault(tname, {})) total_sequences += len(sequences) entry_states, automata = make_automata(tries) diff --git a/srcs/compose/en_US_UTF_8_Compose.pre b/srcs/compose/compose/en_US_UTF_8_Compose.pre similarity index 100% rename from srcs/compose/en_US_UTF_8_Compose.pre rename to srcs/compose/compose/en_US_UTF_8_Compose.pre diff --git a/srcs/compose/compose/extra.json b/srcs/compose/compose/extra.json new file mode 100644 index 0000000..26adcdc --- /dev/null +++ b/srcs/compose/compose/extra.json @@ -0,0 +1,5 @@ +{ + "V": { + "s": "Š" + } +} diff --git a/srcs/compose/keysymdef.h b/srcs/compose/compose/keysymdef.h similarity index 100% rename from srcs/compose/keysymdef.h rename to srcs/compose/compose/keysymdef.h diff --git a/srcs/juloo.keyboard2/ComposeKeyData.java b/srcs/juloo.keyboard2/ComposeKeyData.java index 2f1e5e82f68c95d59c83cd30bbcc46210372cb88..663043b5255ed4f64ff248b1715f7d0ed376fa0e 100644 GIT binary patch literal 81063 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 H-uV9jLs>er literal 81066 zcmdtLYoFz|b>{nCpQ7!|`B`#w*}Rjnk;$$YD z{XEZqf!tv2s_v?mWXq`+C~gqMWnp360emsezaBqc9{ux|pFMv3=C7CEO^?SX=kf=y zyz#JGCo_*uRnUaERX)_>67{CTl3@JeDV0{!he-} z^NZj8^36xzf9sW3zW8$b?9*8ve?ETpX#Q+``t;GeQTA_^-~Gk-Y<%TEUU~E=m3sPY ze0C}P$@t`-e)-6G%hN}1tJI@MuYUK#FHfgaL3$dOPk;T{=a0YCuj14=Ee5CM>a^-e zXQy@RbeWuXl~Vn^se)DAv|X={%3@LlWiiyGaZqdQ$psz>?CQE$%9Dc$AM%8*tD(JH4{Ms>DWX62|P>7p{lvUqU% zd-R`07ytC(hrj&QNB?`A=JT?C{K=>P{Oiwt^ZDa1 zo;-cF*ZAdc|MlN~_wWDlfBw@gj)H?yTAu`^(`h1S_1Md^pDRN{sYg)(lWOqjs=;4X zBl#ma6D2*aQ#HAUYKnYHdeo%`ls+UJ5ycXjnJi&MEMEl#RR zsR}DKQn3z{sw$-}S)4RAO4SXe>Yh@gR&i3(N~xz%$BLq$9)q_iDxN)jJyWJ8ZD_Hj zOiPQcdQ}uHZGpN)ODnA=OZj}&Y6^;?qfW0sJq!3s`F5a;5v(Xiz6JS6x1PkJ@N_Gs#s7L9Z+ea!N{;8bw)_lq@5E$R8ehenkQupD_i(u&ukx<*gDD)mgA25(s!yh~BW{8S3<^XweUU^pSs!8egIiq8TD4<;n0om2>wi-g|xO z?>m1ga`hMQ{ncMXs&)Vd#rnrz{A!%e%O|4vB2%JLB2K^icYRn;eIl=rr$l5~RI2v< z56mG%I5n(d@yzR4gVVD?eyWTYi)$&ClZL3&II@6KOG%EGb+ND}mda~usj1BiT|}Dl z4P{#LTXGh@?Tmd(uMw+7a#;E&FL$+TJYCGal+qKEu3|Axsb&FH?b2HlJhhvX1pOp) z=EH`yiva_Rs%M)M6I2^0)JxR7|uhu{6)>p%R_JDQ94KM=F{XcXWd zKl@VbAb0^Y7F^)08pXeyvhbCvAENncZ=?A^+k>i~1)x*y#U*-f%-AS=MbEQNGQZKp_%t$=IC1ajS*LIo#&Y5SEeSw}?@AWL{!?o$}gD?HY3rMMZ zbTYOm)w5>b!#xG7UsY4Fgov?5eHyfC^$1RDT0HMRb{;f(sZ-un8;l|^b?8B5+N&vZ zZz>pB<#B0&xM#H~p1g6x;D25ZQ)7HR z)e8-Qi#2#vubz&2i7AV2xU2Qq-K&wZYJ@uh_D|mX*|eSh-;b-vXu+us#__ zBy@V7lIUr^F4@@7FKXU`{YC2@7C_)GD*DZcbg}Hgh9usBB?Xh3mOW+C;%Ay;*<0=r z2{49lB!GGnA)uaW+-HSid{R?kq6kzNB*05XG{UG7lB?$b(O-Y?sn+Kvlm_AIS#`8u zSp3r}buWq}`nvim#QPwOmd!*4jqP8nNL;M&iPiL{SPhk8g@>&kP_Z_oFn|@lvKq!J zNoqJ1YfWm=w^%J~fb=i!EhPQEqPzMjTr1Xsv?N8IT&0I;*Rs6{!iY z21RP=$X(r7`dJ7gKBh@87SjSftBWGdMkJThsy-E~XSgt-)Ekvm%A!XjKvWjdc8=iU z@61jAQh$D~T~lR+Q*781T2v~jXX*r-PG=!tv7k*9DW(1Bou#sq6aatQ(eCN=&U^2V z3k2Jem_!ZLrV*%q2?U;$#X5y@j6C{#@BJuUzzQ1GSS;3v)T)vHWX;g!-T@xtl7n{% znF#8Ag0Bghe3T8-6mcJ>D=R9hLcJ

!U@On+OTG!+&&lut>EoqCR8x;Fi7(`1?> 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 J?f<^={{xOK5Uc case "autofill": return editingKey("auto", Editing.AUTOFILL); /* The compose key */ - case "compose": return makeComposePending(0xE016, ComposeKeyData.en_US_UTF_8_Compose, FLAG_SECONDARY | FLAG_SMALLER_FONT | FLAG_SPECIAL); + case "compose": return makeComposePending(0xE016, ComposeKeyData.compose, FLAG_SECONDARY | FLAG_SMALLER_FONT | FLAG_SPECIAL); /* Placeholder keys */ case "removed": return placeholderKey(Placeholder.REMOVED);