danoniplus 47.6.2 → 47.6.4
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 +39 -68
- 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 : 2026/05/
|
|
7
|
+
* Revised : 2026/05/15
|
|
8
8
|
*
|
|
9
9
|
* https://github.com/cwtickle/danoniplus
|
|
10
10
|
*/
|
|
11
|
-
const g_version = `Ver 47.6.
|
|
12
|
-
const g_revisedDate = `2026/05/
|
|
11
|
+
const g_version = `Ver 47.6.4`;
|
|
12
|
+
const g_revisedDate = `2026/05/15`;
|
|
13
13
|
|
|
14
14
|
// カスタム用バージョン (danoni_custom.js 等で指定可)
|
|
15
15
|
let g_localVersion = ``;
|
|
@@ -9735,7 +9735,7 @@ const keyConfigInit = (_kcType = g_kcType) => {
|
|
|
9735
9735
|
* @returns {HTMLDivElement}
|
|
9736
9736
|
*/
|
|
9737
9737
|
const makeKCButton = (_id, _text, _func, { x = g_btnX(5 / 6) - 20, y = 15, w = g_btnWidth(1 / 6), h = 18,
|
|
9738
|
-
siz = g_limitObj.jdgCntsSiz, borderStyle =
|
|
9738
|
+
siz = g_limitObj.jdgCntsSiz, borderStyle = C_DIS_NONE, cxtFunc, ...rest } = {}, _mainClass = g_cssObj.button_RevOFF, ..._classes) =>
|
|
9739
9739
|
makeSettingLblCssButton(_id, getStgDetailName(_text), 0, _func, { x, y, w, h, siz, cxtFunc, borderStyle, ...rest }, _mainClass, ..._classes);
|
|
9740
9740
|
|
|
9741
9741
|
/**
|
|
@@ -10417,8 +10417,7 @@ const keyconfigKeyboardPreview = (() => {
|
|
|
10417
10417
|
// キーレイアウト定義
|
|
10418
10418
|
//
|
|
10419
10419
|
// 各行: { offsetX, keys }
|
|
10420
|
-
// offsetX : 行左端の水平オフセット(単位: BASE_KEY_W
|
|
10421
|
-
// L)Shift の幅で行頭位置を調整する。
|
|
10420
|
+
// offsetX : 行左端の水平オフセット(単位: BASE_KEY_W)。未指定時は0
|
|
10422
10421
|
// keys : キー定義の配列
|
|
10423
10422
|
//
|
|
10424
10423
|
// 各キー: { kc, w?, h?, label? }
|
|
@@ -10442,7 +10441,6 @@ const keyconfigKeyboardPreview = (() => {
|
|
|
10442
10441
|
return [
|
|
10443
10442
|
// Row0: Fn キー行(JIS/US 共通)
|
|
10444
10443
|
{
|
|
10445
|
-
offsetX: 0,
|
|
10446
10444
|
keys: [
|
|
10447
10445
|
{ kc: 27 }, // Esc
|
|
10448
10446
|
{ kc: -1, w: 0.5 }, // スペーサー
|
|
@@ -10457,16 +10455,13 @@ const keyconfigKeyboardPreview = (() => {
|
|
|
10457
10455
|
// JIS: ..., 220(intlYen), BS
|
|
10458
10456
|
// US : ..., BS
|
|
10459
10457
|
{
|
|
10460
|
-
offsetX: 0,
|
|
10461
10458
|
keys: [
|
|
10462
10459
|
{ kc: 229 },
|
|
10463
|
-
{ kc: 49 }, { kc: 50 }, { kc: 51 },
|
|
10464
|
-
{ kc:
|
|
10465
|
-
{ kc: 55 }, { kc: 56 }, { kc: 57 },
|
|
10466
|
-
{ kc: 48 }, { kc: 189 }, { kc: 222 },
|
|
10460
|
+
{ kc: 49 }, { kc: 50 }, { kc: 51 }, { kc: 52 }, { kc: 53 }, { kc: 54 },
|
|
10461
|
+
{ kc: 55 }, { kc: 56 }, { kc: 57 }, { kc: 48 }, { kc: 189 }, { kc: 222 },
|
|
10467
10462
|
...(isJa
|
|
10468
10463
|
? [{ kc: 220, w: 0.75 }, { kc: 8, label: `Back\nSpace` }] // JIS: intlYen + BS
|
|
10469
|
-
: [{ kc: 8, w: 1.7 }]
|
|
10464
|
+
: [{ kc: 8, w: 1.7 }] // US : BS のみ(広い)
|
|
10470
10465
|
),
|
|
10471
10466
|
],
|
|
10472
10467
|
},
|
|
@@ -10474,13 +10469,10 @@ const keyconfigKeyboardPreview = (() => {
|
|
|
10474
10469
|
// JIS: ..., [, Enter(13)
|
|
10475
10470
|
// US : ..., [, ]
|
|
10476
10471
|
{
|
|
10477
|
-
offsetX: 0,
|
|
10478
10472
|
keys: [
|
|
10479
10473
|
{ kc: 9, w: 1.5 },
|
|
10480
|
-
{ kc: 81 }, { kc: 87 }, { kc: 69 },
|
|
10481
|
-
{ kc:
|
|
10482
|
-
{ kc: 85 }, { kc: 73 }, { kc: 79 },
|
|
10483
|
-
{ kc: 80 }, { kc: 192 },
|
|
10474
|
+
{ kc: 81 }, { kc: 87 }, { kc: 69 }, { kc: 82 }, { kc: 84 }, { kc: 89 },
|
|
10475
|
+
{ kc: 85 }, { kc: 73 }, { kc: 79 }, { kc: 80 }, { kc: 192 },
|
|
10484
10476
|
...(isJa
|
|
10485
10477
|
? [{ kc: 219 }, { kc: 13, w: 1.25, h: 2 }] // JIS: [, Enter縦長
|
|
10486
10478
|
: [{ kc: 219 }, { kc: 221, w: 1.2 }] // US : [, ]
|
|
@@ -10491,13 +10483,10 @@ const keyconfigKeyboardPreview = (() => {
|
|
|
10491
10483
|
// JIS: ..., L, ;, ', ¥(221)
|
|
10492
10484
|
// US : ..., L, ;, ', Enter(13)
|
|
10493
10485
|
{
|
|
10494
|
-
offsetX: 0,
|
|
10495
10486
|
keys: [
|
|
10496
|
-
{ kc: 20, w: 1.75, label: `
|
|
10497
|
-
{ kc: 65 }, { kc: 83 }, { kc: 68 },
|
|
10498
|
-
{ kc:
|
|
10499
|
-
{ kc: 74 }, { kc: 75 }, { kc: 76 },
|
|
10500
|
-
{ kc: 187 }, { kc: 186 },
|
|
10487
|
+
{ kc: 20, w: 1.75, label: `Caps\nLock` },
|
|
10488
|
+
{ kc: 65 }, { kc: 83 }, { kc: 68 }, { kc: 70 }, { kc: 71 }, { kc: 72 },
|
|
10489
|
+
{ kc: 74 }, { kc: 75 }, { kc: 76 }, { kc: 187 }, { kc: 186 },
|
|
10501
10490
|
...(isJa
|
|
10502
10491
|
? [{ kc: 221 }] // JIS: ¥
|
|
10503
10492
|
: [{ kc: 13, w: 1.9 }] // US : Enter横長
|
|
@@ -10509,16 +10498,13 @@ const keyconfigKeyboardPreview = (() => {
|
|
|
10509
10498
|
// JIS: L)Shift, ..., intlRo(226), R)Shift
|
|
10510
10499
|
// US : L)Shift, ..., R)Shift
|
|
10511
10500
|
{
|
|
10512
|
-
offsetX: 0,
|
|
10513
10501
|
keys: [
|
|
10514
10502
|
{ kc: 16, w: 2.25 },
|
|
10515
|
-
{ kc: 90 }, { kc: 88 }, { kc: 67 },
|
|
10516
|
-
{ kc:
|
|
10517
|
-
{ kc: 77 }, { kc: 188 }, { kc: 190 },
|
|
10518
|
-
{ kc: 191 },
|
|
10503
|
+
{ kc: 90 }, { kc: 88 }, { kc: 67 }, { kc: 86 }, { kc: 66 }, { kc: 78 },
|
|
10504
|
+
{ kc: 77 }, { kc: 188 }, { kc: 190 }, { kc: 191 },
|
|
10519
10505
|
...(isJa
|
|
10520
10506
|
? [{ kc: 226 }, { kc: 256, w: 1.5 }] // JIS: intlRo + R)Shift
|
|
10521
|
-
: [{ kc: 256, w: 2.4 }]
|
|
10507
|
+
: [{ kc: 256, w: 2.4 }] // US : R)Shift のみ(広い)
|
|
10522
10508
|
),
|
|
10523
10509
|
],
|
|
10524
10510
|
},
|
|
@@ -10526,24 +10512,15 @@ const keyconfigKeyboardPreview = (() => {
|
|
|
10526
10512
|
// JIS: ..., NoConv(29), Space, Conv(28), カタカナひらがな(242), ...
|
|
10527
10513
|
// US : ..., Space, ...
|
|
10528
10514
|
{
|
|
10529
|
-
offsetX: 0,
|
|
10530
10515
|
keys: [
|
|
10531
|
-
{ kc: 17, w: 1.25 },
|
|
10532
|
-
{ kc: 91 },
|
|
10533
|
-
{ kc: 18 },
|
|
10516
|
+
{ kc: 17, w: 1.25 }, { kc: 91 }, { kc: 18 },
|
|
10534
10517
|
...(isJa
|
|
10535
|
-
|
|
10536
|
-
|
|
10537
|
-
|
|
10538
|
-
|
|
10539
|
-
{ kc: 242 },
|
|
10540
|
-
]
|
|
10541
|
-
: [
|
|
10542
|
-
{ kc: 32, w: 8.25 },
|
|
10543
|
-
]
|
|
10518
|
+
// JIS: NoConv + Space + Conv + カタカナひらがな
|
|
10519
|
+
? [{ kc: 29 }, { kc: 32, w: 5.25 }, { kc: 28 }, { kc: 242 }]
|
|
10520
|
+
// US : Space のみ(広い)
|
|
10521
|
+
: [{ kc: 32, w: 8.25 }]
|
|
10544
10522
|
),
|
|
10545
|
-
{ kc: 258 },
|
|
10546
|
-
{ kc: 93 },
|
|
10523
|
+
{ kc: 258 }, { kc: 93 },
|
|
10547
10524
|
...(isJa
|
|
10548
10525
|
? [{ kc: 257, w: 1.2 }]
|
|
10549
10526
|
: [{ kc: 257, w: 1.05 }]
|
|
@@ -10555,12 +10532,12 @@ const keyconfigKeyboardPreview = (() => {
|
|
|
10555
10532
|
// 編集キークラスター(PrintSc/ScrollLk/Pause/Insert/Delete/Home/End/PgUp/PgDn + 矢印キー)
|
|
10556
10533
|
// MAIN_ROWS と行インデックスを揃えて配置する。空行はスキップされる。
|
|
10557
10534
|
const NAV_ROWS = [
|
|
10558
|
-
{
|
|
10559
|
-
{
|
|
10560
|
-
{
|
|
10561
|
-
{
|
|
10562
|
-
{
|
|
10563
|
-
{
|
|
10535
|
+
{ keys: [{ kc: 44, label: `Print\nScreen` }, { kc: 145, label: `Scroll\nLock` }, { kc: 19 }] },
|
|
10536
|
+
{ keys: [{ kc: 45 }, { kc: 36 }, { kc: 33, label: `Page\nUp` }] }, // Insert Home PgUp
|
|
10537
|
+
{ keys: [{ kc: 46 }, { kc: 35 }, { kc: 34, label: `Page\nDown` }] }, // Delete End PgDn
|
|
10538
|
+
{ keys: [] }, // ASDF行:空
|
|
10539
|
+
{ keys: [{ kc: -1 }, { kc: 38 }, { kc: -1 }] }, // ↑
|
|
10540
|
+
{ keys: [{ kc: 37 }, { kc: 40 }, { kc: 39 }] }, // ← ↓ →
|
|
10564
10541
|
];
|
|
10565
10542
|
|
|
10566
10543
|
// テンキー(MAIN_ROWS と行インデックスを揃えて配置。1行目は空行で Fn行に揃える)
|
|
@@ -10572,12 +10549,12 @@ const keyconfigKeyboardPreview = (() => {
|
|
|
10572
10549
|
// [T1][T2][T3] [TEnter]
|
|
10573
10550
|
// [ T0 ][T.] [TEnter] ← T0 は横2u、TEnter は縦2u
|
|
10574
10551
|
const NUM_ROWS = [
|
|
10575
|
-
{
|
|
10576
|
-
{
|
|
10577
|
-
{
|
|
10578
|
-
{
|
|
10579
|
-
{
|
|
10580
|
-
{
|
|
10552
|
+
{ keys: [] },
|
|
10553
|
+
{ keys: [{ kc: 144, label: `Num\nLock` }, { kc: 111 }, { kc: 106 }, { kc: 109 }] }, // NumLk T/ T* T-
|
|
10554
|
+
{ keys: [{ kc: 103 }, { kc: 104 }, { kc: 105 }, { kc: 107, h: 2 }] }, // T7 T8 T9 T+(縦2u)
|
|
10555
|
+
{ keys: [{ kc: 100 }, { kc: 101 }, { kc: 102 }] }, // T4 T5 T6
|
|
10556
|
+
{ keys: [{ kc: 97 }, { kc: 98 }, { kc: 99 }, { kc: 108, h: 2 }] }, // T1 T2 T3 TEnter(縦2u)
|
|
10557
|
+
{ keys: [{ kc: 96, w: 2 }, { kc: 110 }] }, // T0(横2u) T.
|
|
10581
10558
|
];
|
|
10582
10559
|
|
|
10583
10560
|
// -------------------------------------------------------------------------
|
|
@@ -10755,7 +10732,7 @@ const keyconfigKeyboardPreview = (() => {
|
|
|
10755
10732
|
if (rowDef.keys.length === 0) return;
|
|
10756
10733
|
|
|
10757
10734
|
const rowY = originY + rowIdx * (baseKeyH + gap);
|
|
10758
|
-
const startX = originX + Math.floor(rowDef.offsetX * BASE_KEY_W * _state.scale);
|
|
10735
|
+
const startX = originX + Math.floor((rowDef.offsetX || 0) * BASE_KEY_W * _state.scale);
|
|
10759
10736
|
let curX = startX;
|
|
10760
10737
|
|
|
10761
10738
|
rowDef.keys.forEach(keyDef => {
|
|
@@ -10910,40 +10887,34 @@ const keyconfigKeyboardPreview = (() => {
|
|
|
10910
10887
|
|
|
10911
10888
|
// ボタン: キャンバス横幅中央に配置、小さいサイズ
|
|
10912
10889
|
const btnW = 80;
|
|
10913
|
-
const btnX = Math.floor((g_btnWidth() - btnW) / 2);
|
|
10890
|
+
const btnX = g_btnX() + Math.floor((g_btnWidth() - btnW) / 2);
|
|
10914
10891
|
|
|
10915
10892
|
// "↓ Preview" → 展開、"↑ Preview" → 閉じる のトグルボタン
|
|
10916
10893
|
const btn = createCss2Button(C_BTN_ID, `↓ Preview`, () => {
|
|
10917
10894
|
togglePreview();
|
|
10918
10895
|
btn.textContent = _state.visible ? `↑ Preview` : `↓ Preview`;
|
|
10919
10896
|
}, {
|
|
10920
|
-
x: btnX, y: BTN_Y, w: btnW, h: BTN_H,
|
|
10897
|
+
x: btnX, y: BTN_Y, w: btnW, h: BTN_H, siz: BTN_FS,
|
|
10921
10898
|
title: g_msgObj.kcPreview,
|
|
10922
10899
|
}, g_cssObj.button_Setting);
|
|
10923
|
-
btn.style.fontSize = `${BTN_FS}px`;
|
|
10924
10900
|
divRoot.appendChild(btn);
|
|
10925
10901
|
|
|
10926
10902
|
// プレビューエリア: 水平・垂直センタリング
|
|
10927
|
-
const areaX = Math.floor((g_btnWidth() - _state.cvsW) / 2);
|
|
10903
|
+
const areaX = g_btnX() + Math.floor((g_btnWidth() - _state.cvsW) / 2);
|
|
10928
10904
|
const areaY = 130;
|
|
10929
10905
|
|
|
10930
10906
|
const areaDiv = createEmptySprite(divRoot, C_PREVIEW_ID, {
|
|
10931
10907
|
x: areaX, y: areaY - 60, w: _state.cvsW, h: _state.cvsH + 80,
|
|
10932
|
-
pointerEvents: C_DIS_AUTO, background: `#00000080`,
|
|
10908
|
+
pointerEvents: C_DIS_AUTO, background: `#00000080`, display: C_DIS_NONE, overflow: `hidden`,
|
|
10933
10909
|
});
|
|
10934
|
-
areaDiv.style.display = `none`;
|
|
10935
|
-
areaDiv.style.position = `absolute`;
|
|
10936
|
-
areaDiv.style.overflow = `hidden`;
|
|
10937
10910
|
|
|
10938
10911
|
const canvasBase = document.createElement(`canvas`);
|
|
10939
10912
|
canvasBase.id = C_CANVAS_BASE_ID;
|
|
10940
|
-
canvasBase.style.cssText = `position:absolute;left:0;top:0;`;
|
|
10941
10913
|
areaDiv.appendChild(canvasBase);
|
|
10942
10914
|
_state.canvasBase = canvasBase;
|
|
10943
10915
|
|
|
10944
10916
|
const canvasMap = document.createElement(`canvas`);
|
|
10945
10917
|
canvasMap.id = C_CANVAS_MAP_ID;
|
|
10946
|
-
canvasMap.style.cssText = `position:absolute;left:0;top:0;`;
|
|
10947
10918
|
areaDiv.appendChild(canvasMap);
|
|
10948
10919
|
_state.canvasMap = canvasMap;
|
|
10949
10920
|
|