Issue Details (XML | Word | Printable)

Key: SQ-304
Type: Bug Bug
Status: Reopened Reopened
Priority: Normal Normal
Assignee: Yoshiki Ohshima
Reporter: Bert Freudenberg
Votes: 1
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
squeakland

Etoys does not use platform standards for cut/copy/paste

Created: 21/Aug/09 01:05 PM   Updated: 06/Sep/10 06:49 AM
Component/s: etoys, etoys-linux, etoys-win
Fix Version/s: future release

Time Tracking:
Not Specified

File Attachments: 1. File ctrlAltDefault-bf.1.cs (1.0 kB)
2. File ctrlAltDefault2-yo.1.cs (1 kB)
3. File ctrlAltDefault2-yo.2.cs (0.3 kB)
4. File swapCtrlAltAt6-yo.1.cs (0.9 kB)



 Description  « Hide
On all non-Mac platforms we should enable #swapControlAndAltKeys so control-c/x/v do what a user on these platforms expects.

I propose to add this to #setPlatformPreferences.

Bert Freudenberg added a comment - 31/Aug/09 02:43 PM
Added changeset with proposed solution.

Yoshiki Ohshima added a comment - 31/Aug/09 06:15 PM
In addition to Bert's patch, this is required. And I found out that I did almost the same thing 15 months ago when I filed out the patch from my image.

Bert Freudenberg added a comment - 31/Aug/09 06:26 PM
Published as 2259swapCtrlAltAt6-yo and 2260ctrlAltDefault-bf.

Yoshiki Ohshima added a comment - 02/Sep/09 07:39 PM
Oh, but with these changes swapping control and alt takes effect even in the dev image on Windows (and presumably on Linux), which is absolutely not desirable.

Bert Freudenberg added a comment - 03/Sep/09 04:10 AM
Why would that not be desirable? Ctrl-C is the standard for both Windows and Linux. Experienced developers can switch it all they like, but IMHO we should default to the platform convention. It's been far too long we've been violating them.

Yoshiki Ohshima added a comment - 03/Sep/09 06:35 PM
One thing is that the swapping is not consistent; (I thought more keys but) apparently only 'm' is the inconsistent one, so maybe somebody can fix it and I have less reason to object, but still I certainly get confused by the change.

Bert Freudenberg added a comment - 03/Sep/09 06:40 PM
Hmm, ^M is 13, maybe something is special-casing a carriage return somewhere? And are you saying it does not get swapped?

Yoshiki Ohshima added a comment - 04/Sep/09 02:12 PM
I'm not going to spend whole time to try it, but the issue is in the VM an dI think the code around:

    case WM_SYSCHAR:
      /* Note: VK_RETURN is recorded as virtual key ONLY */
      if(keyCode == 13) return 1;


or:

  /* Special case: VK_RETURN is handled as virtual key *only* */
  if(wParam == 13) return 1;

This is not visible to the etoys-user (hopefully) and breaks develop cycle, can we just include mine and fix further in 2010?

Bert Freudenberg added a comment - 04/Sep/09 04:20 PM
sure. push it.

Bert Freudenberg added a comment - 07/Sep/09 10:55 PM
2259swapCtrlAltAt6-yo actually breaks the swapping on Linux. Only when I remove the "char ~= (evt at: 6) ifTrue: [^ self]" line it works.

Bert Freudenberg added a comment - 07/Sep/09 10:56 PM
Pushed fix removing the offending line as 2266swapCtrlAlt-bf. Please test on Windows.

Yoshiki Ohshima added a comment - 08/Sep/09 12:32 AM
Wow, ok. Not sure what happens when the keyboard is configured to enter greek for example...

For windows, I just would change the default setting for the dev with ctrlAltDefault2-yo.2.cs.

Bert Freudenberg added a comment - 08/Sep/09 11:41 AM
Shouldn't the dev image be as close as possible to the user image? If developers do not feel the pain, stuff won't get fixed.

Yoshiki Ohshima added a comment - 09/Sep/09 12:55 AM
> Shouldn't the dev image be as close as possible to the user image?

In a sense, yes. But I'd rather spend my limited time here to fix real user visible bugs but not just feel pain.

Bert Freudenberg added a comment - 11/Sep/09 12:59 PM
Fine by me. feel free to push.

korakurider added a comment - 24/Nov/09 08:13 AM
Here is story from a person who is running Etoys workshop very actively in Japan;

He is teaching Etoys in elementary school. One of objectives of the course is to gain basic literacy of computer operation; For some kids the course is the first experience to play with coumputer.
In that context Etoys is difficult to learn becuase of its UI with unneeded uniqueness. We could make Etoys less worse if we stick to platform standard where possible.