12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- var KeyboardShortcut = (function(my) {
- //maps keycode to character, id of popover for given function and function
- var shortcuts = {
- 67: {
- character: "C",
- id: "toggleChatPopover",
- function: BottomToolbar.toggleChat
- },
- 70: {
- character: "F",
- id: "filmstripPopover",
- function: BottomToolbar.toggleFilmStrip
- },
- 77: {
- character: "M",
- id: "mutePopover",
- function: toggleAudio
- },
- 84: {
- character: "T",
- function: function() {
- if(!isAudioMuted()) {
- toggleAudio();
- }
- }
- },
- 86: {
- character: "V",
- id: "toggleVideoPopover",
- function: toggleVideo
- }
- };
-
- window.onkeyup = function(e) {
- var keycode = e.which;
- if(!($(":focus").is("input[type=text]") || $(":focus").is("input[type=password]") || $(":focus").is("textarea"))) {
- if (typeof shortcuts[keycode] === "object") {
- shortcuts[keycode].function();
- } else if (keycode >= "0".charCodeAt(0) && keycode <= "9".charCodeAt(0)) {
- var remoteVideos = $(".videocontainer:not(#mixedstream)"),
- videoWanted = keycode - "0".charCodeAt(0) + 1;
- if (remoteVideos.length > videoWanted) {
- remoteVideos[videoWanted].click();
- }
- }
- //esc while the smileys are visible hides them
- } else if (keycode === 27 && $('#smileysContainer').is(':visible')) {
- Chat.toggleSmileys();
- }
- };
-
- window.onkeydown = function(e) {
- if(!($(":focus").is("input[type=text]") || $(":focus").is("input[type=password]") || $(":focus").is("textarea"))) {
- if(e.which === "T".charCodeAt(0)) {
- if(isAudioMuted()) {
- toggleAudio();
- }
- }
- }
- };
-
- /**
- *
- * @param id indicates the popover associated with the shortcut
- * @returns {string} the keyboard shortcut used for the id given
- */
- my.getShortcut = function(id) {
- for(var keycode in shortcuts) {
- if(shortcuts.hasOwnProperty(keycode)) {
- if (shortcuts[keycode].id === id) {
- return " (" + shortcuts[keycode].character + ")";
- }
- }
- }
- return "";
- };
- return my;
- }(KeyboardShortcut || {}))
|