The latest changes also seem to affect OCompletion in a way. Pressing ) or ] produces a DNU. Disabling &quot;Smart Characters&quot; clearly helps.<br><br>Alex<br><br><div class="gmail_quote">2011/8/9 Chris Muller <span dir="ltr">&lt;<a href="mailto:asqueaker@gmail.com">asqueaker@gmail.com</a>&gt;</span><br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">In Linux, it used to be, I could type Control in lieu of Shift+Alt.<br>
For example, I used to type Control+( to surround with parentheses.<br>
Control+[ to surround with curly-braces {}.<br>
<br>
Now I have to type Alt+Shift+( and Alt+Shift+[ for those.<br>
<br>
Is there any way to get the Control+( back?<br>
<br>
 - Chris<br>
<br>
On Thu, Aug 4, 2011 at 3:15 AM, Nicolas Cellier<br>
&lt;<a href="mailto:nicolas.cellier.aka.nice@gmail.com">nicolas.cellier.aka.nice@gmail.com</a>&gt; wrote:<br>
&gt; I&#39;m typing this message on a mac French keyboard.<br>
&gt; That means I can obtain the holy brackets [ | ] only through weird<br>
&gt; keystroke combinations<br>
&gt; | = shit+option+L<br>
&gt; [ = shift+option+( where shift+5 is (<br>
&gt;<br>
&gt; Enclosing a text in square brackets would require some finger torture<br>
&gt; both in Squeak/Pharo<br>
&gt; shift+option+command+(<br>
&gt; But this does not work because of #shiftEnclose: rules encountered in<br>
&gt; #initializeShiftCmdKeyShortcuts<br>
&gt; (found both ParagraphEditor class and TextEditor class)<br>
&gt;<br>
&gt;        &quot;Note: Command key overrides shift key, so, for example, cmd-shift-9<br>
&gt; produces $9 not $(&quot;<br>
&gt;        &#39;9[,&#39;&#39;&#39; do: [ :char | cmdMap at: (char asciiValue + 1) put:<br>
&gt; #shiftEnclose: ].       &quot;({&lt; and double-quote&quot;<br>
&gt;        &quot;Note: Must use cmd-9 or ctrl-9 to get &#39;()&#39; since cmd-shift-9 is a<br>
&gt; Mac FKey command.&quot;<br>
&gt;<br>
&gt; shiftEnclose: is badly designed because it does hardcode the keyboard<br>
&gt; layout (see below).<br>
&gt; This is not compatible with modern VMs, at least the mac ones, because<br>
&gt; they deliver a unicode codePoint for $[ or $|, not a raw keycode.<br>
&gt; It&#39;s easy to remove this anachronism and correct the mapping:<br>
&gt;<br>
&gt;        &quot;On some keyboards, these characters require a shift&quot;<br>
&gt;        &#39;([&lt;{|&quot;&#39;&#39;&#39; do: [:char | cmdMap at: char asciiValue + 1 put: #enclose:].<br>
&gt;<br>
&gt; To avoid pushing a mac-centric change in trunk, I need to know if the<br>
&gt; Linux/Windows VM would support above modification.<br>
&gt; Can anyone check for me ?<br>
&gt;<br>
&gt; Nicolas<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; Example of hardcoded keyboard layout:<br>
&gt; TextEditor&gt;&gt;shiftEnclose: aKeyboardEvent<br>
&gt;        &quot;Insert or remove bracket characters around the current selection.<br>
&gt;         Flushes typeahead.&quot;<br>
&gt;<br>
&gt;        | char left right startIndex stopIndex oldSelection which text |<br>
&gt;        char := aKeyboardEvent keyCharacter.<br>
&gt;        char = $9 ifTrue: [ char := $( ].<br>
&gt;        char = $, ifTrue: [ char := $&lt; ].<br>
&gt;        char = $[ ifTrue: [ char := ${ ].<br>
&gt;        char = $&#39; ifTrue: [ char := $&quot; ].<br>
&gt;        char asciiValue = 27 ifTrue: [ char := ${ ].    &quot;ctrl-[&quot;<br>
&gt; snip...<br>
&gt;<br>
&gt;<br>
<br>
</blockquote></div><br>