The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Changes for version 0.12

  • Enhance doc section on Windows problems. Clearer popups in output .html. Change internal structure of representation of a character-in-a-key-slot: $c or [$c, $face_from, $is_prefix, ...]. New in-prefix-map directive PrefixDocs[DESCR]; DESCR is put into html popups for prefix keys. Start adding docstrings on the generation pathway of the slot (up to FromTo, which has problems now???; Does not work on DEADKEYS and InheritPrefixKeys???). Format of char-to-emit now is [char, from_face, dead/inheritable, generation_pathway, old_prefix] with all but 0th optional. Improve the order of control-chars in the output tables. Allow arbitrary number of “+”s in the Layers(*) directive (untested). Allow arbitrary number of layers in output_unit00() (untested). Trace provenance up to a visual layer. Add DOCTYPE to the generated HTML. Update year in the .kbdd's copyright. Trace provenance of AltGrSubstitutions. Mark EIGHTH NOTE meaning vbell as such in HTML. Mark positions involving/being AltGrSubst in blue in HTML. Restore addhline () --> ∈∋. Report separately "via single prefix key" and "via repeated prefix key" in the output tables. BUG: ignores DeadKeys2... Implement mutator ByPairs(Inv)Prefix. (These BUGS are now fixed:) BUGS: in print_deadkey_win() (sp?) we need to <<3 - apparently, only the inverted map is shifted by 3... in massage_imported2(), one can't make a deep copy (related??? makes 03a6@ into 0301@, but only in the not-inverted face???
    • old value is cached during link_layers()!)
  • Recognize YEN, BROKEN BAR and "the second SLASH" in BaseLayer as ABNT_C2 (so as JIS ¥¦ via duplication). Make default_char() to be used as late as possible. Remove repeated-dead-key magic from print_deadkey_win() (except for AltGr-inverted base face). Merge all the debugging flags into UI_KEYBOARDLAYOUT_DEBUG. Link layers AFTER the imported keys are (re)assigned (fixes BUGS mentioned above). New configuration key for a face: PrefixChains. layer_recipes entries could not be arrays. Allow variation of the column where Ctrl-keys go in the output .klc; omit missing CTRL if at end (does not fix the Control-Shift-Letter bug). Allow generation of Ctrl-letter and Ctrl-Shift-letter (works about a bug in File Commander with C-S-letter). (XXXX currently hidden in the output tables - need to put a fifth char in a “prefixed” cell) Add new translation filters: ucfirst_not_lc (etc for uc/lc; behave as uc/lc/ucfirst pseudo-compositing rules), dectrl. Add new pseudo-compositing: dectrl. ShiftFromTo was not allowing chars-by-hex. Document the problem with Control-Shift-letter in MSKLC-generated keyboards. Why only the last of these works??? ByPairs[0020␢](FlipLayers(Latin)) ByPairs[0192␢](Face(Latin)) ByPairs[0192␢] Control-\ and Control-] were mixed up in several cases. Output of visual keyboard layouts (non-surrogates hardwired). Use to_ne class instead of from_sw in visual layouts (is not obscured due to z-order). New toplevel .kbdd key face_shortcuts (used in [re]generation of visual diagrams). New in-prefix-map directive HTML_classes[(WHERE,CLASS,chars,)*]. (Can be put also in DeadKey_InvMap0000.) Add what-is-prefix info to the base layers. (In RU, it now thinks that 0301 needs double-prefix???) Consider KORONIS, PROSGEGRAMMENI, ANO TELEIA, GREEK QUESTION MARK as homographs. When process visual map, use ucfirst() instead of uc() (does not matter with izKeys.kbdd). Mark lc/ucfirst pairs with 3 case forms by yellow dotted outline in visual keymaps (relevant for polytonic). (Before, we were pairing on the base of lc/uc, not lc/ucfirst.) The visual table was based on “pure” layers, not layers marred by prefix mapping. We did not mark prefix-keys-from-VK as $c->[2] = 1. Optimize depth of span inclusion in generated HTML tables. Use the classes/docs generated on TABLE HTML when doing visual HTML (some cause visual clutter, so should be explicitly enabled on the enclosing DIV). VIET has background which is not visible??? Add info on the used unicode tables version to the outputs. When looking a prefix in the diacritics table, prefer the row with the earliest occurence. Move "next combining" from AltGr-/,? to '/",AltGr-'/" We had prime-like stuff there - which was nice too???
  • izKeys.kbdd: Update VERSION to 0.05. Add PrefixDocs. Fix prefer_(first|last). Fix AltGr-- with () --> ∈∋. Use ByPairsPrefix for greek double prefix keys. Use PrefixChains for 00b5, 0192; first char moves to 4th press, the other is killed:
  • -2423 <␣> OPEN BOX [Common; Control Pictures; 1.1] -2007 < > FIGURE SPACE [Common; General Punctuation; 1.1] Having ¨ inside the chain kills modifier-colon... Latin Cyr AltGr Greek -> Cyr -> Cyr-II -> Cyr-III Latin -> Cyr-II -> Greek -> Cyr-III Green Greek -> Busns -> Coptic Ripe Cyr -> Cyr-II -> Cyr-III Latin -> Negate -> Blue Improve £ on the £-map (now £ is obtained by doubling the prefix), ¤ is still on # and @ (hi, Tom!). Add ␣⍽/␢ to Green/Ripe keys (well, it would be nicer to have honest whitespace on Ripe keys, but this conflicts with having text-Control-key symbols there...) Add textual-symbols for remaining control keys (XXXX 0x1e and 0x1f still missing). Add circled letter to Round-Ctrl (uppercased to the sibling map Cedilla+Ctrl). Same for letter super- (on ^/~) and sub-scripts (on / - there is no uppercase subscripts in 6.2!). Note that the alternative (case-switched) letters are also available on AltGr-flipped face ??? Reorder dead keys in the report closer to accordance with Green/Ripe. Control-\ and Control-] were mixed up in several cases. Exchange Control-key-symbols and Control-key-other-images (hides £ on AltGr-$ SPACE...). Add non-break spaces (usual and narrow) on spaces in Ripe face. Add 9=thin, a=Hair, 7=figure(noBreak), 8=Punctuation spaces to 2nd/3rd Ripe maps (only on Latin now) Add @ -> ƻ to macron (on 2 it would hide useful bluekeys+macron). [case/shift twisting!] Assign classes to chars for use in visual HTML output. We were missing ῭ in Greek-polytonic (\) AltGr-L-column. Put ԡꙣꙥꚁ [temporarily?] onto the free slots in Business map (this finishes the Cyrillic coverage); SOFT are on X=Ь; DWE on V... Move … from Green to Ripe, and put · to Green (on fullstop=.). Add €/£ to Green $/^. Add ⌧,⎚ as other-iconic on Control-Backspace, Control-C; ␥/substitute-2=U+2426 as iconic on Control-C/SUB=^Z. Downgrade LAS from l to AltGr-L on Business (Wikipedia article on Lari does not include ლ). Downgrade LIVRE TOURNOIS SIGN from AltGr-L to AltGr-i/I on business (by the second letter now!). Add TURKISH LIRA SIGN on l on Business. Fix CEDILLA modifier/combiners list; lost: -1dfd < <U+1DFD>> COMBINING ALMOST EQUAL TO BELOW [5.2] Fix double-presses-with-AltGr of , . " ~ / ^ ˘. Add faky-diacritics-type for DBL_GRAVE. Add diacritics type for SLASH.
    • Add examples/console-fonts00-added.reg Add examples/build_here.cmd (run in subdirectory of a directory with the distribution subdirectory, after creation of oo-*) New file examples/izkeys-visual-base.html
  • Perl bug with 2Self auto-docs (not debugged yet). Already "my $c =" leads to a bug...

Documentation

example keyboard layout generated with UI::KeyboardLayout

Modules

Module for designing keyboard layouts