so far I have no idea :)
But I will learn.

Stef

On Aug 4, 2011, at 3:07 PM, Nicolas Cellier wrote:

> as long as the keyMapper only map to #enclose: and not #shiftEnclose:,
> no problem.
> 
> Nicolas
> 
> 2011/8/4 Stéphane Ducasse <[email protected]>:
>> What is on our todo is to introduce keymapper or another solution to have no 
>> hardcoded keys in the complete system.
>> Now my time is short... sadly. But indeed this is good if we can clean that 
>> part.
>> Stef
>> 
>> 
>>> http://code.google.com/p/pharo/issues/detail?id=4599
>>> 
>>> 2011/8/4 Nicolas Cellier <[email protected]>:
>>>> I'm typing this message on a mac French keyboard.
>>>> That means I can obtain the holy brackets [ | ] only through weird
>>>> keystroke combinations
>>>> | = shit+option+L
>>>> [ = shift+option+( where shift+5 is (
>>>> 
>>>> Enclosing a text in square brackets would require some finger torture
>>>> both in Squeak/Pharo
>>>> shift+option+command+(
>>>> But this does not work because of #shiftEnclose: rules encountered in
>>>> #initializeShiftCmdKeyShortcuts
>>>> (found both ParagraphEditor class and TextEditor class)
>>>> 
>>>>        "Note: Command key overrides shift key, so, for example, cmd-shift-9
>>>> produces $9 not $("
>>>>        '9[,''' do: [ :char | cmdMap at: (char asciiValue + 1) put:
>>>> #shiftEnclose: ].       "({< and double-quote"
>>>>        "Note: Must use cmd-9 or ctrl-9 to get '()' since cmd-shift-9 is a
>>>> Mac FKey command."
>>>> 
>>>> shiftEnclose: is badly designed because it does hardcode the keyboard
>>>> layout (see below).
>>>> This is not compatible with modern VMs, at least the mac ones, because
>>>> they deliver a unicode codePoint for $[ or $|, not a raw keycode.
>>>> It's easy to remove this anachronism and correct the mapping:
>>>> 
>>>>        "On some keyboards, these characters require a shift"
>>>>        '([<{|"''' do: [:char | cmdMap at: char asciiValue + 1 put: 
>>>> #enclose:].
>>>> 
>>>> To avoid pushing a mac-centric change in trunk, I need to know if the
>>>> Linux/Windows VM would support above modification.
>>>> Can anyone check for me ?
>>>> 
>>>> Nicolas
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> Example of hardcoded keyboard layout:
>>>> TextEditor>>shiftEnclose: aKeyboardEvent
>>>>        "Insert or remove bracket characters around the current selection.
>>>>         Flushes typeahead."
>>>> 
>>>>        | char left right startIndex stopIndex oldSelection which text |
>>>>        char := aKeyboardEvent keyCharacter.
>>>>        char = $9 ifTrue: [ char := $( ].
>>>>        char = $, ifTrue: [ char := $< ].
>>>>        char = $[ ifTrue: [ char := ${ ].
>>>>        char = $' ifTrue: [ char := $" ].
>>>>        char asciiValue = 27 ifTrue: [ char := ${ ].    "ctrl-["
>>>> snip...
>>>> 
>>> 
>> 
>> 
>> 
> 


Reply via email to