danoniplus 34.4.0 → 34.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/js/danoni_main.js +41 -34
- package/js/lib/danoni_constants.js +8 -1
- package/package.json +1 -1
package/js/danoni_main.js
CHANGED
|
@@ -4,12 +4,12 @@
|
|
|
4
4
|
*
|
|
5
5
|
* Source by tickle
|
|
6
6
|
* Created : 2018/10/08
|
|
7
|
-
* Revised : 2023/10/
|
|
7
|
+
* Revised : 2023/10/31
|
|
8
8
|
*
|
|
9
9
|
* https://github.com/cwtickle/danoniplus
|
|
10
10
|
*/
|
|
11
|
-
const g_version = `Ver 34.4.
|
|
12
|
-
const g_revisedDate = `2023/10/
|
|
11
|
+
const g_version = `Ver 34.4.1`;
|
|
12
|
+
const g_revisedDate = `2023/10/31`;
|
|
13
13
|
|
|
14
14
|
// カスタム用バージョン (danoni_custom.js 等で指定可)
|
|
15
15
|
let g_localVersion = ``;
|
|
@@ -536,6 +536,21 @@ const blockCode = _setCode => !C_BLOCK_KEYS.includes(_setCode);
|
|
|
536
536
|
/* ショートカット制御 */
|
|
537
537
|
/*-----------------------------------------------------------*/
|
|
538
538
|
|
|
539
|
+
/**
|
|
540
|
+
* キーを押した状態を格納
|
|
541
|
+
* (KeyboardEvent.codeが空のときは、別キーとして扱う)
|
|
542
|
+
* @param {object} _evt
|
|
543
|
+
* @param {boolean} _keyHitFlg
|
|
544
|
+
*/
|
|
545
|
+
const switchKeyHit = (_evt, _keyHitFlg = false) => {
|
|
546
|
+
if (_evt.code === ``) {
|
|
547
|
+
g_inputKeyBuffer[''] = false;
|
|
548
|
+
g_inputKeyBuffer[_evt.key === `Shift` ? g_kCdNameObj.shiftRKey : g_kCdNameObj.unknownKey] = _keyHitFlg;
|
|
549
|
+
} else {
|
|
550
|
+
g_inputKeyBuffer[_evt.code] = _keyHitFlg;
|
|
551
|
+
}
|
|
552
|
+
}
|
|
553
|
+
|
|
539
554
|
/**
|
|
540
555
|
* キーを押したときの動作(汎用)
|
|
541
556
|
* @param {object} _evt
|
|
@@ -551,10 +566,7 @@ const commonKeyDown = (_evt, _displayName, _func = _code => { }, _dfEvtFlg) => {
|
|
|
551
566
|
if (_evt.repeat && (g_unrepeatObj.page.includes(_displayName) || g_unrepeatObj.key.includes(setCode))) {
|
|
552
567
|
return blockCode(setCode);
|
|
553
568
|
}
|
|
554
|
-
|
|
555
|
-
if (_evt.key === `Shift` && setCode === ``) {
|
|
556
|
-
g_inputKeyBuffer.ShiftRight = true;
|
|
557
|
-
}
|
|
569
|
+
switchKeyHit(_evt, true);
|
|
558
570
|
|
|
559
571
|
// 対象ボタンを検索
|
|
560
572
|
const scLists = Object.keys(g_shortcutObj[_displayName]).filter(keys => {
|
|
@@ -565,10 +577,7 @@ const commonKeyDown = (_evt, _displayName, _func = _code => { }, _dfEvtFlg) => {
|
|
|
565
577
|
if (scLists.length > 0) {
|
|
566
578
|
// リンク先にジャンプする場合はonkeyUpイベントが動かないため、事前にキー状態をリセット
|
|
567
579
|
if (g_shortcutObj[_displayName][scLists[0]].reset) {
|
|
568
|
-
|
|
569
|
-
if (_evt.key === `Shift` && setCode === ``) {
|
|
570
|
-
g_inputKeyBuffer.ShiftRight = false;
|
|
571
|
-
}
|
|
580
|
+
switchKeyHit(_evt);
|
|
572
581
|
}
|
|
573
582
|
// 対象ボタン処理を実行
|
|
574
583
|
const targetId = document.getElementById(g_shortcutObj[_displayName][scLists[0]].id);
|
|
@@ -3900,10 +3909,10 @@ const keysConvert = (_dosObj, { keyExtraList = _dosObj.keyExtraList?.split(`,`)
|
|
|
3900
3909
|
errCd: `E_0104`, baseCopyFlg: true,
|
|
3901
3910
|
loopFunc: (k, keyheader) => {
|
|
3902
3911
|
const addShiftRKey = (_pattern = ``) => {
|
|
3903
|
-
const keyCtrls = g_keyObj[`${keyheader}_${k +
|
|
3912
|
+
const keyCtrls = g_keyObj[`${keyheader}_${k + dfPtnNum}${_pattern}`];
|
|
3904
3913
|
for (let j = 0; j < keyCtrls.length; j++) {
|
|
3905
|
-
if (keyCtrls[j].includes(
|
|
3906
|
-
keyCtrls[j].push(
|
|
3914
|
+
if (keyCtrls[j].includes(g_kCdObj.shiftRkey) && !keyCtrls[j].includes(g_kCdObj.shiftRAltKey)) {
|
|
3915
|
+
keyCtrls[j].push(g_kCdObj.shiftRAltKey);
|
|
3907
3916
|
}
|
|
3908
3917
|
}
|
|
3909
3918
|
};
|
|
@@ -6751,8 +6760,8 @@ const keyConfigInit = (_kcType = g_kcType) => {
|
|
|
6751
6760
|
let setKey = g_kCdN.findIndex(kCd => kCd === kbCode);
|
|
6752
6761
|
|
|
6753
6762
|
// 右シフトキー対応
|
|
6754
|
-
if (setKey ===
|
|
6755
|
-
setKey =
|
|
6763
|
+
if (setKey === g_kCdObj.unknown && kbKey === `Shift`) {
|
|
6764
|
+
setKey = g_kCdObj.shiftRAltKey;
|
|
6756
6765
|
}
|
|
6757
6766
|
|
|
6758
6767
|
// 全角切替、BackSpace、Deleteキー、Escキーは割り当て禁止
|
|
@@ -8527,6 +8536,13 @@ const getArrowSettings = _ => {
|
|
|
8527
8536
|
for (let j = 0; j < g_workObj.keyCtrl.length; j++) {
|
|
8528
8537
|
for (let k = 0; k < g_workObj.keyCtrl[j].length; k++) {
|
|
8529
8538
|
g_workObj.keyCtrlN[j][k] = g_kCdN[g_workObj.keyCtrl[j][k]];
|
|
8539
|
+
|
|
8540
|
+
// 内部のキーコードにより、KeyboardEvent.codeの値を切り替え
|
|
8541
|
+
if (g_workObj.keyCtrl[j][k] === g_kCdObj.unknown) {
|
|
8542
|
+
g_workObj.keyCtrlN[j][k] = g_kCdNameObj.unknownKey;
|
|
8543
|
+
} else if (g_workObj.keyCtrl[j][k] === g_kCdObj.shiftRAltKey) {
|
|
8544
|
+
g_workObj.keyCtrlN[j][k] = g_kCdNameObj.shiftRKey;
|
|
8545
|
+
}
|
|
8530
8546
|
g_workObj.keyHitFlg[j][k] = false;
|
|
8531
8547
|
}
|
|
8532
8548
|
}
|
|
@@ -9117,17 +9133,16 @@ const mainInit = _ => {
|
|
|
9117
9133
|
*/
|
|
9118
9134
|
const mainKeyDownActFunc = {
|
|
9119
9135
|
|
|
9120
|
-
OFF: (
|
|
9136
|
+
OFF: (_code, _key) => {
|
|
9137
|
+
const convCode = (_code === `` ? (_key === `Shift` ? g_kCdNameObj.shiftRKey : g_kCdNameObj.unknownKey) : _code);
|
|
9121
9138
|
const matchKeys = g_workObj.keyCtrlN;
|
|
9122
9139
|
|
|
9123
9140
|
for (let j = 0; j < keyNum; j++) {
|
|
9124
|
-
matchKeys[j].filter((key, k) =>
|
|
9141
|
+
matchKeys[j].filter((key, k) => convCode === key && !g_workObj.keyHitFlg[j][k] && !g_judgObj.lockFlgs[j])
|
|
9125
9142
|
.forEach(() => {
|
|
9126
|
-
|
|
9127
|
-
|
|
9128
|
-
|
|
9129
|
-
g_judgObj.lockFlgs[j] = false;
|
|
9130
|
-
}
|
|
9143
|
+
g_judgObj.lockFlgs[j] = true;
|
|
9144
|
+
judgeArrow(j);
|
|
9145
|
+
g_judgObj.lockFlgs[j] = false;
|
|
9131
9146
|
});
|
|
9132
9147
|
}
|
|
9133
9148
|
},
|
|
@@ -9143,12 +9158,8 @@ const mainInit = _ => {
|
|
|
9143
9158
|
if (evt.repeat && !g_mainRepeatObj.key.includes(setCode)) {
|
|
9144
9159
|
return blockCode(setCode);
|
|
9145
9160
|
}
|
|
9146
|
-
|
|
9147
|
-
|
|
9148
|
-
if (evt.key === `Shift` && setCode === ``) {
|
|
9149
|
-
g_inputKeyBuffer.ShiftRight = true;
|
|
9150
|
-
}
|
|
9151
|
-
mainKeyDownActFunc[g_stateObj.autoAll](setCode);
|
|
9161
|
+
switchKeyHit(evt, true);
|
|
9162
|
+
mainKeyDownActFunc[g_stateObj.autoAll](setCode, evt.key);
|
|
9152
9163
|
|
|
9153
9164
|
// 曲中リトライ、タイトルバック
|
|
9154
9165
|
if (setCode === g_kCdN[g_headerObj.keyRetry]) {
|
|
@@ -9209,11 +9220,7 @@ const mainInit = _ => {
|
|
|
9209
9220
|
};
|
|
9210
9221
|
|
|
9211
9222
|
document.onkeyup = evt => {
|
|
9212
|
-
|
|
9213
|
-
g_inputKeyBuffer[setCode] = false;
|
|
9214
|
-
if (evt.key === `Shift` && setCode === ``) {
|
|
9215
|
-
g_inputKeyBuffer.ShiftRight = false;
|
|
9216
|
-
}
|
|
9223
|
+
switchKeyHit(evt);
|
|
9217
9224
|
mainKeyUpActFunc[g_stateObj.autoAll]();
|
|
9218
9225
|
};
|
|
9219
9226
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*
|
|
6
6
|
* Source by tickle
|
|
7
7
|
* Created : 2019/11/19
|
|
8
|
-
* Revised : 2023/10/
|
|
8
|
+
* Revised : 2023/10/31 (v34.4.1)
|
|
9
9
|
*
|
|
10
10
|
* https://github.com/cwtickle/danoniplus
|
|
11
11
|
*/
|
|
@@ -1361,6 +1361,13 @@ const g_kCdNameObj = {
|
|
|
1361
1361
|
shiftRKey: `ShiftRight`,
|
|
1362
1362
|
metaLKey: `MetaLeft`,
|
|
1363
1363
|
metaRKey: `MetaRight`,
|
|
1364
|
+
unknownKey: `Unknown`,
|
|
1365
|
+
};
|
|
1366
|
+
|
|
1367
|
+
const g_kCdObj = {
|
|
1368
|
+
unknown: 1,
|
|
1369
|
+
shiftRkey: 256,
|
|
1370
|
+
shiftRAltKey: 260,
|
|
1364
1371
|
};
|
|
1365
1372
|
|
|
1366
1373
|
// 画面別ショートカット
|