Posted by bwknight877 in SWF Studio V3 on Nov 12 2008, 01:22 pm

If you have an application running in Kiosk mode, and shortcuts are enabled for the accessibility options, the popup window for the shortcut gets you access to the windows taskbar, and from that there is no limit to what you can do.

Look for the shortcuts under Control Panel -> Accessibility Options, specifically the shortcuts for StickyKeys, FilterKeys, ToggleKeys, High Contrast mode, and MouseKeys

Is there anything we can do about this?


Posted by bwknight877 in SWF Studio V3 on Nov 12 2008, 03:17 pm

I just upgraded to SWF Studio v3.6, and tested again (we were using v3.4), and the shortcuts still pop up in Kiosk mode

we have our application hidden from the taskbar, so it cant be closed, and it is set to be the topmost window, so you cant open other windows aside from the popup over it, but you can right click taskbar items, and close things, get to the system tray, etc


Posted by northcode in SWF Studio V3 on Nov 12 2008, 05:18 pm

Nice catch! I'll have a look at that and see if it makes sense to add those to the list of things that are disabled automatically in kiosk mode.

For now, you can use SysInfo.setStickyKeys to disable them (see also SysInfo.getStickyKeys).


Posted by bwknight877 in SWF Studio V3 on Nov 13 2008, 10:22 am

Thanks Tim for the info, I am able to successfully turn off the stickyKeys hotkey with this line:
ssCore.SysInfo.setStickyKeys({hotkey:false});But the hotkeys for the others are still available. If you decide that kiosk mode should not disable those hotkeys, it would be nice to be able to turn off the other accessibility hotkeys filterKeys, toggleKeys, high contrast, and mouseKeys through ssCore.SysInfo like I can for stickyKeys.

In the meantime I am considering writing a plugin to get this functionality.


Posted by northcode in SWF Studio V3 on Nov 13 2008, 10:31 am

The accessibility stuff is all on by default so I definitely think it should be disabled automatically by kiosk mode. It looks like all the settings can be controlled via the SystemParametersInfo API (like sticky keys) so this shouldn't take too long.


Posted by bwknight877 in SWF Studio V3 on Nov 13 2008, 11:30 am

I have found what I think might be a suitable workaround, without having to disable any of the accessibility hotkeys. I disable the taskbar, then set up an onQuit handler to reenable it when the application closes.

That way when you get the accessibility popup, you can still use the accessibility features, but you cant access the taskbar.


// in my main swf loaded by swfStudio
ssCore.Desktop.showTaskbar({flag:false});
   
// set up an onQuit handler to reenable the taskbar and quit the application
var myListener_obj = new Object();
myListener_obj.enableTaskbar = function (event_obj)
{
   ssCore.Desktop.showTaskbar({flag:true});
   ssCore.App.forceQuit();
}
ssEvents.addEventListener({listener:myListener_obj,event:'App.onQuit',callback:'enableTaskbar'});


Posted by northcode in SWF Studio V3 on Nov 13 2008, 12:16 pm

Too late. it's done and will be available in the next build. If you want to test this now, send an email to support with your serial number in it and we'll hook you up with the latest development build.


Posted by bwknight877 in SWF Studio V3 on Nov 13 2008, 12:56 pm

Thanks for the quick responses and turnaround time on this. You guys rock!


Posted by northcode in SWF Studio V3 on Nov 13 2008, 01:39 pm

If you use ssCore.Desktop.autoRestoreTaskbar then you don't need to have any listeners hanging around or an onQuit event, SWF Studio will take care of it for you.


Posted by mpowell in SWF Studio V3 on Mar 13 2009, 07:21 pm

Is there an api for turning off the accessibility hotkeys for Filter Keys, High Contrast, Mouse Keys, Sticky Keys and Toggle Keys, separately without using Kiosk Mode? We need to turn them off but we need to allow Ctrl-Alt-Delete which is off in Kiosk mode.

Thanks.


Posted by northcode in SWF Studio V3 on Mar 14 2009, 04:57 pm

There isn't a separate API call in SWF Studio but it's abviously doable since we're doing it :) We should really add that to the Keyboard.* commands so you can get/set those flags independently of kiosk mode.