[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