[Lazarus] LCL and custom keyboard layouts
Mark Morgan Lloyd
markMLl.lazarus at telemetry.co.uk
Sat Jan 28 17:45:35 CET 2012
Hans-Peter Diettrich wrote:
> Mark Morgan Lloyd schrieb:
>> Over the last few weeks I've hacked together a partial APL
>> implementation, for use as a way of specifying lists of numbers etc.
>> when passing commands between computers implementing a large
>> distributed system. For test purposes I've compiled it on Linux as a
>> command-line app and am using FPC's keyboard unit to implement a
>> layout similar to http://www.aplusdev.org/keyboard.html, with Alt as
>> meta and Esc to go into composition mode (use cursor keys to move
>> between the glyphs on each key). Internal storage is in widestrings,
>> external files etc. UTF-8.
>>
>> I now want to move the parser and evaluator into an LCL-based app,
>> which will ideally allow at least partial editing of APL-style
>> expressions rather than reading everything from configuration files.
>>
>> What is the situation with LCL editing components, Synedit, Cmdline
>> and so on? Is there a single underlying keyboard component, or at
>> least a uniform interface?
>>
>> In short, where do I start? :-)
>
> On Windows you'd write an IME (Input Method Editor), that allows to
> compose strings from keystrokes. Don't beat me - I only know that
> something like that exists ;-)
>
> The display should not be a problem. AFAIR is the APL charset part of
> Unicode, so that you can use SynEdit. Write an APL syntax highlighter
> for it, if you like.
No problem at all. My only niggle- and this is a minor one- is that some
of the odder characters I'd have liked to have been able to use (in
particular, German blackletter) are outside the 16-bit Unicode range.
> Commandlines? Perhaps using the IME, provided that you can tell the
> console to use it ;-)
I'll start digging in and see where I get to, but any suggestions-
particularly relating to Linux- will be welcome.
--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk
[Opinions above are the author's, not those of his employers or colleagues]
More information about the Lazarus
mailing list