thedesk/app/js/common/keyshortcut.js

203 lines
4.3 KiB
JavaScript
Raw Normal View History

2018-01-28 21:22:43 +09:00
$(function($) {
2018-01-31 01:43:01 +09:00
//キーボードショートカット
$(window).keydown(function(e) {
var hasFocus = $('input').is(':focus');
var hasFocus2 = $('textarea').is(':focus');
2018-09-10 02:06:00 +09:00
if(document.getElementById("webview")){
2018-09-11 03:59:44 +09:00
if($("#webviewsel:checked").val()){
var wv=false;
}else{
var wv=true;
2018-09-10 02:06:00 +09:00
}
2018-09-11 03:59:44 +09:00
}else{
var wv=true;
2018-09-10 02:06:00 +09:00
}
2018-09-17 20:55:00 +09:00
//Ctrl+Shift+Enter:Lgen
2018-09-11 03:59:44 +09:00
if (event.metaKey || event.ctrlKey && wv) {
2018-09-17 20:55:00 +09:00
if (event.shiftKey) {
if (e.keyCode === 13) {
post('local');
return false;
}
2018-01-31 01:43:01 +09:00
}
2018-09-17 20:55:00 +09:00
2018-01-31 01:43:01 +09:00
}
2018-09-17 20:55:00 +09:00
//Ctrl+Enter:投稿
if (event.metaKey || event.ctrlKey && wv) {
2018-02-04 23:56:31 +09:00
if (e.keyCode === 13) {
2018-09-17 20:55:00 +09:00
post();
2018-02-04 23:56:31 +09:00
return false;
}
}
2019-03-09 20:17:08 +09:00
//Alt+Enter:セカンダリー
if (event.metaKey || event.altKey && wv) {
if (e.keyCode === 13) {
sec();
return false;
}
}
2018-09-17 20:55:00 +09:00
2018-02-13 04:16:46 +09:00
//Shift+Space:Markdownゼロ幅スペース
if (event.shiftKey) {
if (e.keyCode === 32) {
brInsert("");
return false;
}
}
2018-01-31 01:43:01 +09:00
//Esc:消す
2018-09-11 03:59:44 +09:00
if (e.keyCode === 27 && wv) {
2018-01-31 01:43:01 +09:00
hide();
return false;
}
2018-02-09 01:43:11 +09:00
//F5リロード
2018-09-11 03:59:44 +09:00
if (e.keyCode === 116 && wv) {
2018-01-31 01:43:01 +09:00
location.href = "index.html";
return false;
}
2018-02-09 01:43:11 +09:00
//Ctrl+R:ランキング
2018-09-11 03:59:44 +09:00
if ((event.metaKey || event.ctrlKey) && wv) {
2018-02-09 01:43:11 +09:00
if (e.keyCode === 82) {
if(localStorage.getItem("kirishima")){
2018-02-16 22:08:43 +09:00
window.open("https://astarte.thedesk.top");
2018-02-09 01:43:11 +09:00
}
}
}
2018-03-21 14:36:02 +09:00
//Ctrl+Sift+C:全消し
2018-09-11 03:59:44 +09:00
if (((event.metaKey || event.ctrlKey) && event.shiftKey )&& wv) {
2018-03-21 14:36:02 +09:00
if (e.keyCode === 67) {
clear();
return false;
}
}
//Ctrl+Sift+N:NowPlaying
2018-09-11 03:59:44 +09:00
if (((event.metaKey || event.ctrlKey) && event.shiftKey) && wv) {
2018-03-21 14:36:02 +09:00
if (e.keyCode === 78) {
2018-07-28 06:25:12 +09:00
show();
2018-03-21 14:36:02 +09:00
nowplaying()
return false;
}
}
2018-01-31 01:43:01 +09:00
//input/textareaにフォーカスなし時
2018-09-11 03:59:44 +09:00
if ((!hasFocus && !hasFocus2 ) && wv) {
if(!wv){
return true;
}
2018-07-28 06:25:12 +09:00
//Ctrl+V:いつもの
2018-08-23 02:29:39 +09:00
if (event.metaKey || event.ctrlKey) {
2018-07-28 06:25:12 +09:00
if (e.keyCode === 86) {
show();
}
}
2018-01-31 01:43:01 +09:00
//X:開閉
if (e.keyCode === 88) {
2018-07-28 06:25:12 +09:00
if (!$("#post-box").hasClass("appear")) {
2018-01-31 01:43:01 +09:00
show();
} else {
hide();
}
return false;
}
//N:新トゥート
if (e.keyCode === 78) {
2018-07-28 06:25:12 +09:00
if (!$("#post-box").hasClass("appear")) {
2018-01-31 01:43:01 +09:00
show();
}
$('textarea').focus();
return false;
}
2018-07-28 06:25:12 +09:00
//Ctrl+E:全ての通知未読を既読にする
2018-08-23 02:29:39 +09:00
if (event.metaKey || event.ctrlKey) {
2018-07-28 06:25:12 +09:00
if (e.keyCode === 69) {
allNotfRead();
return false;
}
2018-01-31 01:43:01 +09:00
}
//Ctrl+Space:読み込み
2018-08-23 02:29:39 +09:00
if (event.metaKey || event.ctrlKey) {
2018-01-31 01:43:01 +09:00
if (e.keyCode === 32) {
parseColumn();
return false;
}
}
2018-03-21 14:36:02 +09:00
//Ctrl+Sift+S:設定
2018-08-23 02:29:39 +09:00
if ((event.metaKey || event.ctrlKey) && event.shiftKey) {
2018-03-21 14:36:02 +09:00
if (e.keyCode === 83) {
location.href = "setting.html";
return false;
}
}
//Ctrl+Sift+M:アカマネ
2018-08-23 02:29:39 +09:00
if ((event.metaKey || event.ctrlKey) && event.shiftKey) {
2018-03-21 14:36:02 +09:00
if (e.keyCode === 77) {
location.href = "acct.html";
return false;
}
}
//Ctrl+Sift+P:プロフ
2018-08-23 02:29:39 +09:00
if ((event.ctrlKey) && event.shiftKey) {
2018-03-21 14:36:02 +09:00
if (e.keyCode === 80) {
profShow()
2018-01-31 01:43:01 +09:00
return false;
}
}
2018-03-27 11:39:35 +09:00
//数字:TL
2018-08-23 02:29:39 +09:00
if (event.metaKey || event.ctrlKey) {
2018-03-27 11:39:35 +09:00
if (e.keyCode >= 49 && e.keyCode <= 57) {
var kz=e.keyCode-49;
2018-04-07 13:31:09 +09:00
goColumn(kz);
2018-03-27 11:39:35 +09:00
return false;
}
}
2018-01-31 01:43:01 +09:00
}
//textareaフォーカス時
2018-09-11 03:59:44 +09:00
if (hasFocus2 && wv) {
2018-08-23 02:29:39 +09:00
if (event.metaKey || event.ctrlKey) {
2018-01-31 01:43:01 +09:00
//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;
}
2018-06-12 00:44:28 +09:00
//C+S+(No):ワンクリ
2018-08-23 02:29:39 +09:00
if ((event.metaKey || event.ctrlKey) && event.shiftKey) {
2018-06-12 00:44:28 +09:00
if (e.keyCode >= 49 && e.keyCode <= 51) {
var no=e.keyCode-48;
2018-06-17 23:26:45 +09:00
if(localStorage.getItem("oks-"+no)){$("#textarea").val($("#textarea").val()+localStorage.getItem("oks-"+no))}
2018-06-12 00:44:28 +09:00
return false;
}
}
2018-01-31 01:43:01 +09:00
}
}
2018-02-09 01:54:24 +09:00
//イメージビューワー切り替え
2018-09-11 03:59:44 +09:00
if (e.keyCode === 37 &&wv) {
2018-01-31 01:43:01 +09:00
if ($("#imagemodal").hasClass("open")) {
imgCont('prev');
return false;
}
}
2018-09-11 03:59:44 +09:00
if (e.keyCode === 39 && wv) {
2018-01-31 01:43:01 +09:00
if ($("#imagemodal").hasClass("open")) {
imgCont('next');
return false;
}
}
});
//クリアボタン
$("#clear").click(function() {
clear();
});
2018-03-27 11:39:35 +09:00
});