summaryrefslogtreecommitdiff
path: root/lulua
AgeCommit message (Collapse)AuthorFilesLines
2021-10-17util: Improve support for invisible symbolsLars-Dominik Braun1-7/+11
Auto-generate short name for them instead of having a static list.
2020-12-12render: Draw highlights only if visibleLars-Dominik Braun1-1/+2
Saves ~4KiB on files without highlights
2020-11-25keyboard: Move scancodes to yaml fileLars-Dominik Braun4-314/+519
Also add serialization and tests.
2020-11-25report: Add klavaro data location for WindowsLars-Dominik Braun1-2/+3
2020-11-25Add a few more testsLars-Dominik Braun3-5/+41
2020-11-14render: Add Klavaro keyboard fileLars-Dominik Braun2-0/+35
Fixes #8, although Klavaro’s support for diacritics seems to be lacking right now.
2020-11-14render: Add keylayout rendererLars-Dominik Braun2-2/+118
Not really functional, since we cannot control shift states and keys.
2020-11-01Explain design decisionsLars-Dominik Braun4-7/+110
Fixes #10.
2020-10-17winkbd: Improve renderingLars-Dominik Braun7-3155/+912
Create self-containted, minimal, but still human-readable C file with all typedefs. Gets rid of the copied header file and all of its weird ifdef logic. Simplifies virtual scancode to virtual key mapping.
2020-10-17report: Move remarks into <details> elementLars-Dominik Braun2-5/+21
Hide them by default
2020-09-13winkbd: Make Windows driver compileable with MingGWLars-Dominik Braun7-29/+2553
Automate the process via GitHub Actions as well. kbd.h can be simplified. Fixes #11.
2020-09-06report: Add b/w PDF for printoutsLars-Dominik Braun2-0/+62
Might come handy if you need a physical reference card.
2020-09-06report: Upgrade purecss and mathjaxLars-Dominik Braun1-3/+3
2020-08-22report: Fix swapped layers in layout propertiesLars-Dominik Braun1-2/+2
2020-08-22Add test for HTMLSerializerLars-Dominik Braun1-2/+12
2020-08-22text: Fix HTMLSerializer’s entity decodingLars-Dominik Braun1-1/+1
2020-08-22text: Fix broken circular importLars-Dominik Braun1-1/+2
2020-05-16report: Add simple sentence effort visualizationLars-Dominik Braun5-2/+105
Trying to give the reader a sense for how difficult carpalx thinks certain parts of a sentence are. Conclusions are only valid for a single layout and comparison between them is not possible.
2020-05-10report: Add translated source table, asymmetry definitionLars-Dominik Braun3-61/+138
Also fix the layout break point.
2020-05-10winkbd: Fix typoLars-Dominik Braun1-0/+0
2020-05-10layouts: Add missing symbols to ar-luluaLars-Dominik Braun2-18/+22
In particular: * - # and ٠. Recompute optimal layout for symbols and bump version to 0.4.
2020-04-25ar-lulua: Optimize layer two and threeLars-Dominik Braun2-54/+59
Take another stab at the symbol layers and call it v0.3.
2020-04-25render: Fix mirroring of bracketsLars-Dominik Braun1-1/+2
Apparently direction must be specified on parent <text> element to have an effect. This way brackets will be mirrored correctly when rendering.
2020-04-25optimize: Allow manual mutationsLars-Dominik Braun1-7/+25
In combination with `-n 0` this allows manual evaluation of changes without using `lulua-write` to re-evaluate the entire corpus.
2020-04-25Improve lulua-writeLars-Dominik Braun2-87/+219
Introduce composable filters, switch to brotli-compressed tarballs, which has good ratios and fast decompression, reducing I/O significantly.
2020-04-13layout: Add test for getText+__call__ identityLars-Dominik Braun1-1/+16
2020-03-28stats: Enumerate combinationsLars-Dominik Braun1-2/+4
2020-03-28report: Explain origin of Lam-Alif ligatureLars-Dominik Braun1-1/+3
2020-03-28Add analysis for ar-idlebi and ar-alramlyLars-Dominik Braun4-5/+259
2020-03-22optimize: Allow running without pinned keysLars-Dominik Braun1-1/+1
Set default value.
2020-03-21layouts: Fix al-Ramly layoutLars-Dominik Braun1-66/+15
Remove English layer, the paper talks about different “modes”.
2020-03-15text: Add actual text to debugging outputLars-Dominik Braun1-0/+2
2020-03-15text: Fix newlinesLars-Dominik Braun1-2/+3
Replace Windows-style newlines with Unix newlines. There were quite a few stray \r’s in the stats. This takes care of them.
2020-03-08report: Expand analysisLars-Dominik Braun2-91/+198
Expand explanation of proposed layout and criticism of other layouts.
2020-03-08writer: Fix bug in chooseCombinationLars-Dominik Braun2-15/+29
Some combinations had the same score and the “wrong” one was chosen as a result. This affects how key combinations are chosen and thus it significantly affects results (lowering ar-lulua’s asymmetry and increasing it for almost every other layout) and probably optimization of levels > 1.
2020-03-07report: Add OS X layoutLars-Dominik Braun1-0/+26
2020-03-07layouts: Add OSX’ Arabic layoutLars-Dominik Braun1-0/+115
Looks pretty similar to ASMO663.
2020-02-29Add missing license headersLars-Dominik Braun3-0/+60
2020-02-29Fix function approx and its testcaseLars-Dominik Braun3-15/+22
Function was moved and changed by commit 0f8643954fd9507aec85bab46046e71a497bfffe, but the testcase was not.
2020-02-29Upgrade IBM Plex to 4.0.2Lars-Dominik Braun4-10/+10
Arabic font was renamed.
2020-02-22plot: Fix format stringLars-Dominik Braun1-1/+1
2020-02-22doc: Switch to jinja2-based renderingLars-Dominik Braun5-59/+768
Pre-rendering HTML was not the best idea. Instead pre-process the data, cache it into data files and do the HTML rendering only as the final step. Also adds asymmetry to analysis and uses tabular numbers and spaces instead of ugly table hacks to align numbers.
2020-02-13Fix HTML5 validation errorsLars-Dominik Braun1-1/+1
2020-01-26render: Fix heatmap renderingLars-Dominik Braun2-92/+120
Button caps will not overlap heat map any more. Change heat map to circles, which seem more fitting.
2020-01-26render: Pre-compute button positionsLars-Dominik Braun1-34/+44
In preparation for fixing heapmap rendering.
2020-01-19Add Windows driverLars-Dominik Braun12-4/+794
Generate C header file based on layout description and create a source bundle that must be compiled on a Windows system and then moved back to the source tree. This sucks, but cross-compiling on Linux is a pain, since Windows’ development headers assume a case-insensitive filesystem. Also I’m using MSKLC because the latest driver development kit cannot compile these drivers correctly. Dear @microsoft, please fix your shit: https://github.com/microsoft/Windows-driver-samples/issues/433 A remaining concern right now is licensing. keyboard.{c,h,def,rc} have been copied from a project generated by MSKLC and are probably non-free, although pretty much identical files like https://github.com/microsoft/Windows-driver-samples/blob/master/input/layout/kbdus/kbdus.c are covered by MS-PL. Also binds backspace key to \b and adjusts xmodmap/svg rendering accordingly. See #7.
2019-11-17Add more testsLars-Dominik Braun5-22/+200
2019-11-16Add OpenStreetMap label corpusLars-Dominik Braun1-0/+5
Extract node labels (name:ar) from OpenStreetMap’s planet dump. Heavily leans towards a few common words (“street”, obviously), but we should be fine since the corpus is not that large.
2019-11-16doc: Auto-generate corpus tableLars-Dominik Braun2-1/+72
2019-11-08Add OpenSubtitles corpusLars-Dominik Braun1-0/+18
See issue #5.