thedesk/app/js/common/keyshortcut.js
2018-08-23 02:29:39 +09:00

180 lines
3.8 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

$(function($) {
//キーボードショートカット
$(window).keydown(function(e) {
var hasFocus = $('input').is(':focus');
var hasFocus2 = $('textarea').is(':focus');
//Ctrl+Enter:投稿
if (event.metaKey || event.ctrlKey) {
if (e.keyCode === 13) {
post();
return false;
}
}
//Shift+Enter:Markdown
if (event.shiftKey) {
if (e.keyCode === 13) {
brInsert(" \n");
return false;
}
}
//Shift+Space:Markdownゼロ幅スペース
if (event.shiftKey) {
if (e.keyCode === 32) {
brInsert("");
return false;
}
}
//Esc:消す
if (e.keyCode === 27) {
hide();
return false;
}
//F5リロード
if (e.keyCode === 116) {
location.href = "index.html";
return false;
}
//Ctrl+R:ランキング
if (event.metaKey || event.ctrlKey) {
if (e.keyCode === 82) {
if(localStorage.getItem("kirishima")){
window.open("https://astarte.thedesk.top");
}
}
}
//Ctrl+Sift+C:全消し
if ((event.metaKey || event.ctrlKey) && event.shiftKey) {
if (e.keyCode === 67) {
clear();
return false;
}
}
//Ctrl+Sift+N:NowPlaying
if ((event.metaKey || event.ctrlKey) && event.shiftKey) {
if (e.keyCode === 78) {
show();
nowplaying()
return false;
}
}
//input/textareaにフォーカスなし時
if (!hasFocus && !hasFocus2) {
//Ctrl+V:いつもの
if (event.metaKey || event.ctrlKey) {
if (e.keyCode === 86) {
show();
}
}
//X:開閉
if (e.keyCode === 88) {
if (!$("#post-box").hasClass("appear")) {
show();
} else {
hide();
}
return false;
}
//N:新トゥート
if (e.keyCode === 78) {
if (!$("#post-box").hasClass("appear")) {
show();
}
$('textarea').focus();
return false;
}
//Ctrl+E:全ての通知未読を既読にする
if (event.metaKey || event.ctrlKey) {
if (e.keyCode === 69) {
allNotfRead();
return false;
}
}
//Ctrl+Space:読み込み
if (event.metaKey || event.ctrlKey) {
if (e.keyCode === 32) {
parseColumn();
return false;
}
}
//Ctrl+Sift+S:設定
if ((event.metaKey || event.ctrlKey) && event.shiftKey) {
if (e.keyCode === 83) {
location.href = "setting.html";
return false;
}
}
//Ctrl+Sift+M:アカマネ
if ((event.metaKey || event.ctrlKey) && event.shiftKey) {
if (e.keyCode === 77) {
location.href = "acct.html";
return false;
}
}
//Ctrl+Sift+P:プロフ
if ((event.ctrlKey) && event.shiftKey) {
if (e.keyCode === 80) {
profShow()
return false;
}
}
//数字:TL
if (event.metaKey || event.ctrlKey) {
if (e.keyCode >= 49 && e.keyCode <= 57) {
var kz=e.keyCode-49;
goColumn(kz);
return false;
}
}
}
//textareaフォーカス時
if (hasFocus2) {
if (event.metaKey || event.ctrlKey) {
//Ctrl+B:太字
if (e.keyCode === 66) {
tagsel('b');
return false;
}
//Ctrl+I:斜字
if (e.keyCode === 73) {
tagsel('i');
return false;
}
//Ctrl+U:下線
if (e.keyCode === 85) {
tagsel('u');
return false;
}
//Ctrl+S:取り消し線
if (e.keyCode === 83) {
tagsel('s');
return false;
}
//C+S+(No):ワンクリ
if ((event.metaKey || event.ctrlKey) && event.shiftKey) {
if (e.keyCode >= 49 && e.keyCode <= 51) {
var no=e.keyCode-48;
if(localStorage.getItem("oks-"+no)){$("#textarea").val($("#textarea").val()+localStorage.getItem("oks-"+no))}
return false;
}
}
}
}
//イメージビューワー切り替え
if (e.keyCode === 37) {
if ($("#imagemodal").hasClass("open")) {
imgCont('prev');
return false;
}
}
if (e.keyCode === 39) {
if ($("#imagemodal").hasClass("open")) {
imgCont('next');
return false;
}
}
});
//クリアボタン
$("#clear").click(function() {
clear();
});
});