public boolean triggerShortcut(Key key) {
        if(key.getKind() == Key.Kind.NormalKey) {
            NormalKeyShortcut asShortcutKey = new NormalKeyShortcut(key.getCharacter(), key.isCtrlPressed(), key.isAltPressed());
            synchronized(normalKeysShortcut) {
                if(normalKeysShortcut.containsKey(asShortcutKey)) {
                    normalKeysShortcut.get(asShortcutKey).doAction();
                    return true;
                }
                return false;
            }
        }
        else {
            synchronized(specialKeysShortcut) {
                if(specialKeysShortcut.containsKey(key.getKind())) {
                    specialKeysShortcut.get(key.getKind()).doAction();
                    return true;
                }
                return false;
            }
        }
    }