<div dir="ltr"><div>Anyone from Squeak/SqueeakVM interested on this change?<br></div><br>I can build a squeak vm as well and / or provide a vm-source patch file.<br><br><div class="gmail_extra"><br><div class="gmail_quote">2015-11-13 8:33 GMT+01:00 Nicolai Hess <span dir="ltr"><<a href="mailto:nicolaihess@gmail.com" target="_blank">nicolaihess@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote"><span class="">2015-11-12 16:43 GMT+01:00 EuanM <span dir="ltr"><<a href="mailto:euanmee@gmail.com" target="_blank">euanmee@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I'm happy to test on Windows 7, and on Raspbian Linux<br>
<br>
(Although Raspbian Linux runs Pharo UI events slo-o-owly, so I am not<br>
the best person to do the Linux testing)<br></blockquote><div><br></div></span><div>Thank you EuanM, <br></div><div>I 'll provide a vm with these changes. All changes are only for the windows vm at the moment.<br></div><div><div class="h5"><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div><div><br>
On 12 November 2015 at 15:42, EuanM <<a href="mailto:euanmee@gmail.com" target="_blank">euanmee@gmail.com</a>> wrote:<br>
> I think anything that makes a consistent UI to Pharo for users on<br>
> different platforms is a good thing.<br>
><br>
> However, I do not know what the downside-effects of this change are.<br>
><br>
> The key thing is to capture all breaks caused by the changed, so they<br>
> can be coded through or around. And ensure that the test results are<br>
> viewed with at least the same importance as the automated Jenkins CI<br>
> test results.<br>
><br>
> I do not know the extent that the Jenkins CI tests actually simulate<br>
> user keyboard input, so... (Pharo pseudocode for comic effect and<br>
> clarity)<br>
><br>
> We can write Jenkins tests that simulate user input<br>
> ifTrue: [ we should do so ].<br>
> ifFalse: [<br>
> we should<br>
> write a canonical set of regression test scripts for human<br>
> users to follow .<br>
> we should<br>
> do: [:eachPlatformSupportedByPharo |<br>
> run the tests in which humans use keyboard tasks ] .<br>
> we should<br>
> capture the results ;<br>
> and feed them into automated the regression tests results database<br>
> ]<br>
><br>
><br>
> On 12 November 2015 at 08:35, Nicolai Hess <<a href="mailto:nicolaihess@gmail.com" target="_blank">nicolaihess@gmail.com</a>> wrote:<br>
>> A short overview:<br>
>><br>
>> With Ctrl-Key pressed,<br>
>><br>
>> some keyboard events don't generate smalltalk keystrokes (EventKeyChar)<br>
>> ctrl+tab, ctrl+1, ctrl+2, ..., ctrl+0, ctrl+Tab, ctrl+m<br>
>><br>
>> for some keyboard events there are only key down and key up events (from<br>
>> windows) but the vm "generates" a keypress (EventKeyChar) event<br>
>> ctrl+Home, ctrl+End, ctrl+PageUp, ...<br>
>><br>
>> But the key value , char code and ctrl flag for this generated events, make<br>
>> them undistinguishable from other ctrl+key shortcuts<br>
>> ctrl+a = ctrl+Home, ctrl+d = ctrl+End, ctrl+k=ctrl+PageUp,...<br>
>><br>
>> And one key (ctrl+Enter) creates two EventKeyChar events one "normal" and<br>
>> one that is generated from the vm<br>
>> one with keyvalue 10 and one with 13.<br>
>><br>
>> And the keycode for char like "a","b", ..., are different if you they are<br>
>> typed with or without ctrl-key<br>
>><br>
>> just key "a":<br>
>> keycode:<br>
>> 65 (keydown event)<br>
>> 97 (keyvalue/charcode event) (65 if you press shift key)<br>
>> 65 (keyup event)<br>
>><br>
>> with ctrl key pressed:<br>
>> keycode<br>
>> 65 (keydown event)<br>
>> 1 (keyvalue/charcode event)<br>
>> 65 (keyup event)<br>
>><br>
>><br>
>> I would like to change this, that means:<br>
>><br>
>> generate EventKeyChar events for<br>
>> ctrl+1, ctrl+2, ..., ctrl+Tab, ctrl+m<br>
>><br>
>> remove the double key event for ctrl+Enter<br>
>><br>
>> and adopt the behavior of the linux vm, for keyValue, charCode values for<br>
>> events like<br>
>> ctrl+a, ctrl+home, ...<br>
>><br>
>> for example, the linux vm generates event buffer values:<br>
>> #(2 7329656 1 0 2 65 0 1) for ctrl+a (keyValue 1/charCode 65)<br>
>> but<br>
>> #(2 7329656 1 0 2 1 0 1) for ctrl+home (keyValue 1/charCode 1)<br>
>><br>
>> this may need some changes on the image side. For example, in Pharo we<br>
>> have some special handling that adds "96" to the keyValue for keystrokes<br>
>> with ctrl-key).<br>
>><br>
>> What do you think?<br>
>><br>
>><br>
>><br>
>> nicolai<br>
>><br>
<br>
</div></div></blockquote></div></div></div><br></div></div>
</blockquote></div><br></div></div>