JavaScript
$('body').append('<span id="simulateCtrlShiftAltS">Click Me</span>');
function simulateCtrlShiftAltS() {
var keys = [
{view: document.defaultView, bubbles: true, location: 1, keyLocation: 1, keyIdentifier: 'U+0017', key: 'Control', keyCode: 17, which: 17, altKey: false, ctrlKey: true, shiftKey: false},
{view: document.defaultView, bubbles: true, location: 1, keyLocation: 1, keyIdentifier: 'U+0016', key: 'Shift', keyCode: 16, which: 16, altKey: false, ctrlKey: true, shiftKey: true},
{view: document.defaultView, bubbles: true, location: 1, keyLocation: 1, keyIdentifier: 'U+0018', key: 'Alt', keyCode: 18, which: 18, altKey: true, ctrlKey: true, shiftKey: true},
{view: document.defaultView, bubbles: true, location: 0, keyLocation: 0, keyIdentifier: 'U+0053', key: 'T', keyCode: 83, which: 83, altKey: true, ctrlKey: true, shiftKey: true},
{view: document.defaultView, bubbles: true, location: 0, keyLocation: 0, keyIdentifier: 'U+0053', key: 'T', keyCode: 83, which: 83, altKey: true, ctrlKey: true, shiftKey: true},
], body = document.body;
for (var i = 0; i < 4; i++) {
var events = [new KeyboardEvent('keydown', keys[i])];
if (i == 3) events.push(new KeyboardEvent('keypress', keys[4]));
if (events[0].keyCode == 0) events.forEach(function(ev) {
['keyCode', 'which'].forEach(function(p) {
delete ev[p]; Object.defineProperty(ev, p, {value: keys[i][p], enumerable: true});
});
});
window.setTimeout(function(evts) {
return function() {evts.forEach(function(ev) {body.dispatchEvent(ev);});};
}(events), i * 50);
}
}
$('body').on('click', '#simulateCtrlShiftAltS', simulateCtrlShiftAltS);
$('body').keypress(function(e) {
if(e.shiftKey && e.altKey && e.ctrlKey && e.keyCode == 83){
alert('Ctrl + Shift + Alt + T');
}
});