RE: [AD] patch to prevent CTRL-ALT-DEL from killing allegro under windows

[ Thread Index | Date Index | More lists.liballeg.org/allegro-developers Archives ]


This seems wrong. Lots of apps use Ctrl+Alt+foo for keyboard shortcuts.
I find it unlikely that hitting Ctrl+Alt+Del would trigger all of them!

The bug is more likely somewhere in Allegro's keyboard code.


> -----Original Message-----
> From: alleg-developers-admin@xxxxxxxxxx [mailto:alleg-
> developers-admin@xxxxxxxxxx] On Behalf Of Matthew Leverton
> Sent: Friday, December 02, 2005 2:01 AM
> To: alleg-developers@xxxxxxxxxx
> Subject: [AD] patch to prevent CTRL-ALT-DEL from killing allegro under
> windows
> 
> See <http://www.allegro.cc/forums/thread/547778> for the discussion.
> 
> Under Windows XP (probably 2000 as well) pressing CTRL-ALT-DEL will
> (usually) terminate an Allegro application. Attached is a patch to
> prevent that from happening.
> 
> As explained in the thread, when pressing CTRL-ALT-DEL, Allegro
> receives 255 scancodes ranging from 0 to 255. In other words, to
> Allegro it looks like:
> 
> CTRL-ALT-DEL
> CTRL-ALT-0x00
> (I think 0x01 is skipped)
> CTRL-ALT-0x02
> CTRL-ALT-0x03
> ...
> CTRL-ALT-0xff
> 
> Obviously this means the CTRL-ALT-END sequence gets triggered which
> causes Allegro to exit, assuming three_finger_flag is TRUE. I don't
> know the purpose of all these codes being sent and I don't know why it
> happens or if Allegro can tell Windows not to do it. Instead, the
> patch simply instructs Allegro to ignore them.
> 
> So with this patch, Allegro will behave like this:
> 
> If three_finger_flag is TRUE, then CTRL-ALT-END abort()s the app
> If three_finger_flag is FALSE, then CTRL-ALT-END does nothing
> 
> Regardless of the three_finger_flag setting, CTRL-ALT-DEL will always
> bring up the Task Manager, as it should.
> 
> I tested on Windows XP and 98 and noticed no problems with the patch
> applied. A few other people tested successfully as well.
> 
> --
> Matthew Leverton




Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/