Hi -
It's a weird question but we just got it ;-) Since the period appears to be a shifted symbol it seems that pressing Cmd-Shift-Period doesn't result in a user interrupt? If anyone knows the answer I'd appreciate it. Cheers, - Andreas |
On Feb 15, 2008 7:00 PM, Andreas Raab <[hidden email]> wrote:
> It's a weird question but we just got it ;-) Since the period appears to > be a shifted symbol it seems that pressing Cmd-Shift-Period doesn't > result in a user interrupt? If anyone knows the answer I'd appreciate it. The more I study this issue, the more confused I get. As I understand things, the key sequence for canceling an operation in progress on Mac OS X is supposed to be Command + period, including the shift key if that's what's needed. But I also hear that there's been much confusion among application developers, so some people with French AZERTY keyboards use Command + / in some applications. It may be that you've found a bug in the VM, but at the moment I can't find an up-to-date reference on Apple's site that says how this is supposed to be done. This response wouldn't be complete if I didn't remind you to check that the cmdDotEnabled preference item is enabled in your image. Good luck with it! --Tom Phoenix |
Historically the interrupt key was special in older pre OS-X operating
systems. When we migrated to event driven keyboard input in the VM about 8 years back we switch just to providing the keyboard data to the smalltalk code. This is processed in EventSensor>>processEvent: evt "Process a single event. This method is run at high priority." | type | type _ evt at: 1. "Check if the event is a user interrupt" (type = EventTypeKeyboard and:[(evt at: 4) = 0 and:[ ((evt at: 3) bitOr: ((evt at: 5) bitShift: 8)) = interruptKey]]) ifTrue:["interrupt key is meta - not reported as event" ^interruptSemaphore signal]. ,,, and we have initialize "Initialize the receiver" mouseButtons := 0. mousePosition := 0 @ 0. keyboardBuffer := SharedQueue new. self setInterruptKey: (interruptKey ifNil: [$. asciiValue bitOr: 16r0800 ]). "cmd-." interruptSemaphore := (Smalltalk specialObjectsArray at: 31) ifNil: [Semaphore new]. self flushAllButDandDEvents. inputSemaphore := Semaphore new. hasInputSemaphore := false. where we use the setInterruptKey: to set the interruptKey value. For historical reasons this also sets the keycode and semaphore in the VM. If a newer VM works with an image from 10 years back it interacts with the class InputSensor and signals the interruptSemaphore when a cmd-. is pressed, or actually whatever the setInterruptKey: was set to. In looking I saw this old email [hidden email] October 24, 2005 9:49:40 AM PDT (CA) > Here is a changeset to allow to use the shift key for the Cmd-. > I test it with the french and american keyboard. > Could people with different keyboard layout (belgian, spanish, ...) > could also test this changeset ? > > Thanks you, > > -- oooo > Dr. Serge Stinckwich OOOOOOOO > Université de Caen>CNRS UMR 6072>GREYC>MAD OOESUGOO > http://purl.org/net/SergeStinckwich oooooo > Smalltalkers do: [:it | All with: Class, (And love: it)] \ / > ## > > > > 'From Squeak3.8 of ''5 May 2005'' [latest update: #6665] on 24 > October 2005 at 6:42:13 pm'! > > !EventSensor methodsFor: 'private-I/O' stamp: 'zz 10/24/2005 18:41'! > processEvent: evt > "Process a single event. This method is run at high priority." > | type | > type := evt at: 1. > > "Check if the event is a user interrupt" > (type = EventTypeKeyboard and:[(evt at: 4) = 0 and:[ > ((evt at: 3) bitOr: (((evt at: 5) bitAnd:8) bitShift: 8)) = > interruptKey]]) > ifTrue:["interrupt key is meta - not reported as event" > ^interruptSemaphore signal]. > On Feb 16, 2008, at 9:10 AM, Tom Phoenix wrote: > On Feb 15, 2008 7:00 PM, Andreas Raab <[hidden email]> wrote: > >> It's a weird question but we just got it ;-) Since the period >> appears to >> be a shifted symbol it seems that pressing Cmd-Shift-Period doesn't >> result in a user interrupt? If anyone knows the answer I'd >> appreciate it. > > The more I study this issue, the more confused I get. As I understand > things, the key sequence for canceling an operation in progress on Mac > OS X is supposed to be Command + period, including the shift key if > that's what's needed. But I also hear that there's been much confusion > among application developers, so some people with French AZERTY > keyboards use Command + / in some applications. It may be that you've > found a bug in the VM, but at the moment I can't find an up-to-date > reference on Apple's site that says how this is supposed to be done. > > This response wouldn't be complete if I didn't remind you to check > that the cmdDotEnabled preference item is enabled in your image. > > Good luck with it! > > --Tom Phoenix > -- = = = ======================================================================== John M. McIntosh <[hidden email]> Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com = = = ======================================================================== |
In reply to this post by Andreas.Raab
Andreas Raab a écrit :
> Hi - > > It's a weird question but we just got it ;-) Since the period appears to > be a shifted symbol it seems that pressing Cmd-Shift-Period doesn't > result in a user interrupt? If anyone knows the answer I'd appreciate it. Hi Andreas, i'm using a french keyboard on my MacBook Pro. The user interrupt appears without probem after doing a Cmd-shift-period on my 3.10 Squeak image. -- Serge Stinckwich http://doesnotunderstand.free.fr/ |
In reply to this post by Andreas.Raab
Le 15/02/08, Andreas Raab <[hidden email]> écrivait :
>Hi - > >It's a weird question but we just got it ;-) Since the period appears to >be a shifted symbol it seems that pressing Cmd-Shift-Period doesn't >result in a user interrupt? If anyone knows the answer I'd appreciate it. > >Cheers, > - Andreas With the French-Canadian Querty keyboard it is cmd-'period' no shift key is used. |
Free forum by Nabble | Edit this page |