Skip to content

Instantly share code, notes, and snippets.

@oktopus1959
Created March 24, 2024 03:03
Show Gist options
  • Save oktopus1959/d44243fc5882c01d005f3d86d00ab4c0 to your computer and use it in GitHub Desktop.
Save oktopus1959/d44243fc5882c01d005f3d86d00ab4c0 to your computer and use it in GitHub Desktop.
Spaceキーとの同時打鍵による「薙刀式」配列
#define display-name "薙刀式配列v15(fix版)"
;; 薙刀式配列v15(fix版)  作 大岡俊彦
;;
;; 物語を書くための配列。とくに長文特化として設計されている。
;; ゆえに長い武器最強の、薙刀を名乗る。
;;
;; ローマ字配列カタナ式の姉妹配列で、「重要な言葉の運指がいいこと」を重視。
;; 片手アルペジオ、連続シフトのアルペジオなどを入れ込んでいる。
;; 打鍵感がカタナ式に近く、右手に決定する音、左手に繋ぎの音があり、
;; 左→右への手の流れが存在。
;; 同時拗音シフトにより「すべての拗音を一拍一打」を実現。
;;***********************************************
;; 各種設定
;;***********************************************
;; 漢直/かなモードでSandSを有効にする
;; SandSでなく、スペースキーとの相互同時打鍵を使う場合は、下記をコメントアウトすること。
;; ただしスペースキーとの相互同時打鍵を有効にすると、Spaceのオートリピートが効かなくなるので注意。
;;#define USE_SANDS
#ifdef USE_SANDS
#set SandSEnabled=true
#endif
;; IMEの状態に合わせてデコーダをON/OFFする
#set imeCooperationEnabled=true
;; IMEのローマ字入力モードに対応するか
;;#set imeSendInputInRoman=true
;; IMEのかな入力モードに対応するか
;;#set imeSendInputInKana=false
;; IMEに対してUnicodeで送信するか
#set imeSendInputInUnicode=false
;; IMEの入力モード対応時にカタカナをひらがなに変更するか
;;#set imeKatakanaToHiragana=true
;; 同時打鍵判定で、第1キー押下から第2キー押下までの許容時間(ミリ秒)
;;#set combinationMaxAllowedLeadTimeMs=100
;; 同時打鍵判定で、同時押し状態からキー解放までの下限時間(ミリ秒)
;;#set combinationKeyTimeMs=50
;; 3キー以上の同時打鍵判定で、同時押し状態からキー解放までの下限時間(ミリ秒)
;;#set combinationKeyTimeMs3=70
;; 2つの文字キーの同時打鍵の場合の最小重複時間(ここに第1打鍵と第2打鍵間の押下時間差分が上乗せされる)
#set charKeyComboMinOverlappingTime=0
;;***********************************************
;; 矢印キーの定義
;;***********************************************
#defineKey ↑ Up
#defineKey ↓ Down
#defineKey ← Left
#defineKey → Right
;;***********************************************
;;* メイン部分; 単打とシフト *
;;***********************************************
;; 単打
{
| | | | | | | | | |
ヴ | き | て | し | | | | る | す | へ |
ろ | け | と | か | っ | く | あ | い | う | ー |
ほ | ひ | は | こ | そ | た | な | ん | ら | れ |
-T>"!{←}"
-Y>"!{→}"
-U>"!{BS}"
}
;; センターシフト面 (SandS方式)
#ifdef USE_SANDS
#SandS
#else
#combination successive
-40>
#endif
{
| | | | | | | | | |
ヴ | ぬ | り | ね | | | さ | よ | え | ゆ |
せ | め | に | ま | ち | や | の | も | つ | ふ |
ほ | ひ | を | | み | お | | む | わ | れ |
-T>"!{+←}"
-Y>"!{+→}"
-V>"、!{Enter}"
-M>"。!{Enter}"
}
#ifdef USE_SANDS
#end SandS
#else
#end combination
#endif
;;************************************************
;;* 同時押し; 濁音、半濁音、小書き、拗音、外来音 *
;;************************************************
;; 連続シフト可 (連続シフト不可にする場合は successive を oneshot に変更する)
#combination successive
#store DAKUON_HANDAKUON
;;****************************
;; 濁音: 逆手の人差指中段
;; 右手の濁音
-F>{
|||||||||||||
| | | | | |ざ| |ず|べ| | |
| | | | |ぐ| | |づ|ぶ| | |
| | | | |だ| | | | | |
}
;; 左手の濁音
-J>{
|||||||||||||
|ぎ|で|じ| | | | | | | | |
ぜ|げ|ど|が|ぢ| | | | | | | |
ぼ|び|ば|ご|ぞ| | | | | | |
}
;;****************************
;; 半濁音: 逆手の下段人差し指 
;; 右の半濁音
-V>{
|||||||||||||
| | | | | | | | |ぺ| | |
| | | | | | | | |ぷ| | |
| | | | | | | | | | |
}
;; 左の半濁音
-M>{
|||||||||||||
| | | | | | | | | | | |
| | | | | | | | | | | |
ぽ|ぴ|ぱ| | | | | | | | |
}
#end store
#load DAKUON_HANDAKUON
;;****************************
;; 小書き: Qと同時押し 
-Q>{
|||||||||||||
| | | | | | |ょ|ぇ|ゅ| | |
| | | | |ゃ|ぁ|ぃ|ぅ| | | |
| | | | |ぉ| | |ゎ| | |
}
;;**********************************************
;; 拗音、外来音(3キー同時を含む)
;;**********************************************
#store YOUON
;;****************************
;; 清音拗音; やゆよと同時押しで、ゃゅょが付く
-や>{
| | | | | | | | | |
|きゃ|りゃ|しゃ| | | | | | |
| |にゃ| |ちゃ| | | | | |
|ひゃ| | |みゃ| | | | | |
}
-ゆ>{
| | | | | | | | | |
|きゅ|りゅ|しゅ| | | | | | |
| |にゅ| |ちゅ| | | | | |
|ひゅ| | |みゅ| | | | | |
}
-よ>{
| | | | | | | | | |
|きょ|りょ|しょ| | | | | | |
| |にょ| |ちょ| | | | | |
|ひょ| | |みょ| | | | | |
}
;;****************************
;; 濁音拗音
-J,や>{
| | | | | | | | | |
|ぎゃ| |じゃ| | | | | | |
| | | |ぢゃ| | | | | |
|びゃ| | | | | | | | |
}
-J,ゆ>{
| | | | | | | | | |
|ぎゅ| |じゅ| | | | | | |
| | | |ぢゅ| | | | | |
|びゅ| | | | | | | | |
}
-J,よ>{
| | | | | | | | | |
|ぎょ| |じょ| | | | | | |
| | | |ぢょ| | | | | |
|びょ| | | | | | | | |
}
;;****************************
;; 半濁音拗音
-M,ひ>{
| | | | | | | | | |
| | | | | | |ぴょ| |ぴゅ|
| | | | |ぴゃ| | | | |
| | | | | | | | | |
}
#end store
#load YOUON
;;*************************************
;; 外来音は3キー同時押しに統一しました
;;*************************************
;; 清音外来音は半濁音キーと使用二音の三音同時
;; 濁音外来音は濁音キーと使用二音の三音同時
;;****************************
;; テ; ティテュディデュ
-M,て>{
|||||||||||||
| | | | | | | | |てゅ| | |
| | | | | | |てぃ| | | |
| | | | | | | | | | |
}
-J,て>{
|||||||||||||
| | | | | | | | |でゅ| | |
| | | | | | |でぃ| | | |
| | | | | | | | | | |
}
;; ト; トゥドゥ
-M,と>{
|||||||||||||
| | | | | | | | | | | |
| | | | | | | |とぅ| | |
| | | | | | | | | | |
}
-J,と>{
|||||||||||||
| | | | | | | | | | | |
| | | | | | | |どぅ| | |
| | | | | | | | | | |
}
;; シチ ェ; シェジェチェヂェ
-M,え>{
|||||||||||||
| | |しぇ| | | | | | | | |
| | | |ちぇ| | | | | | | |
| | | | | | | | | | |
}
-J,え>{
|||||||||||||
| | |じぇ| | | | | | | | |
| | | |ぢぇ| | | | | | | |
| | | | | | | | | | |
}
;;****************************
;; フ; ファフィフェフォフュ
-V,ふ>{
|||||||||||||
| | | | | | | |ふぇ|ふゅ| | |
| | | | | |ふぁ|ふぃ| | | |
| | | | |ふぉ| | | | | |
}
;; ヴ; ヴァヴィヴェヴォヴュ
-M,ヴ>{
|||||||||||||
| | | | | | | |ヴぇ|ヴゅ| | |
| | | | | |ヴぁ|ヴぃ| | | |
| | | | |ヴぉ| | | | | |
}
;; う; ウィウェウォ い;イェ
-V,う>{
|||||||||||||
| | | | | | | |うぇ| | | |
| | | | | | |うぃ| | | |
| | | | |うぉ| | | | | |
}
-V,い>{
|||||||||||||
| | | | | | | |いぇ| | | |
| | | | | | | | | | |
| | | | | | | | | | |
}
;; ツァ行はウァ行と被るが、ツァだけ被らないので定義
-V,つ>{
|||||||||||||
| | | | | | | | | | | |
| | | | | |つぁ| | | | |
| | | | | | | | | | |
}
;; ク; クァクィクェクォ
-V,く>{
|||||||||||||
| | | | | | | |くぇ| | | |
| | | | | |くぁ|くぃ| | | |
| | | | |くぉ| | |くゎ| | |
}
;; グ; グァグィグェグォ
-F,く>{
|||||||||||||
| | | | | | | |ぐぇ| | | |
| | | | | |ぐぁ|ぐぃ| | | |
| | | | |ぐぉ| | |ぐゎ| | |
}
#end combination
;;******************************************************
;;******************************************************
;; 音の配列は以上。以下機能部分
;;******************************************************
;;******************************************************
;;****************************
;; IME ON/OFF
;; HJ: ON / FG: OFF
#combination oneShot
#enableAlways ;; 常時有効
-J,H>!{ImeOn}
-F,G>!{ImeOff}
#end enableAlways ;; ここまで
#end combination
#combination successive
;; Enter
;; VとMの同時押し
-V,M>!{Enter}
#end combination
;;***********************************
;;***********************************
;; 編集モード、固有名詞ショートカット
;;***********************************
;;***********************************
#store EDIT_MODE
;; 編集モード1
;; 中段人差し指+中指を押しながら
;; 「て」の部分は定義できない。「ディ」があるため
;; 右手
-F,D>{
|||||||||||||
||||| "!{Home}" | "!{+End}!{BS}" | "!{Henkan}" | "!{Del}" | "!{Esc 3}" | | |
||||| "!{Enter}!{End}" | "!{↑}" | "!{+↑}" | "!{+↑ 7}" | "!{^I}" | | |
||||| "!{End}" | "!{↓}" | "!{+↓}" | "!{+↓ 7}" | "!{^U}" | |
}
;; 左手
-J,K>{
|||||||||||||
"!{^End}" | "『』!{Enter}!{↑}" | | "!{^S}" | ・ ||||||||
"……!{Enter}" | "()!{Enter}!{↑}" | "?!{Enter}" | "「」!{Enter}!{↑}" | "《》!{Enter}!{↑}" | |||||||
"——!{Enter}" | "【】!{Enter}!{↑}" | "!!{Enter}" | "!{Enter}!{↓}" | "!{Enter}!{←}" |||||||
}
;; 編集モード2
;; 下段人差指+中指
;; 右手
-V,C>{
|||||||||||||
||||| "!{+Home}" | "!{^X}" | "!{^V}" | "!{^Y}" | "!{^Z}" | | |
||||| "!{^C}" | "!{→}" | "!{+→}" | "!{+→ 5}" | "!{+→ 20}" | | |
||||| "!{+End}" | "!{←}" | "!{+←}" | "!{+← 5}" | "!{+← 20}" | |
}
;; 左手
-M,$,>{
|||||||||||||
"!{Home}!{→}!{End}!{Del 4}!{←}" | "!{^X}『!{^V}』!{Enter}!{Space}!{+↑}!{^X}" | "!{Home}!{Enter}!{Space 3}!{←}" | "!{Space 3}" | "〇!{Enter}" | |||||||
"!{Home}!{→}!{End}!{Del 2}!{←}" | "!{^X}(!{^V})!{Enter}!{Space}!{+↑}!{^X}" | "!{Home}!{Enter}!{Space}!{←}" | "!{^X}「!{^V}」!{Enter}!{Space}!{+↑}!{^X}" | "!{^X}|!{Enter}!{^V}《》!{Enter}!{↑}!{Space}!{+↑}!{^X}" ||||||||
"   ×   ×   ×!{Enter 2}" | "!{^X}【!{^V}】!{Enter}!{Space}!{+↑}!{^X}" | "/!{Enter}" | "!{Enter}!{End}!{Enter}「」!{Enter}!{↑}" | "!{Enter}!{End}!{Enter}!{Space}" |||||||
}
#end store ;; EDIT_MODE
#combination successive
#load EDIT_MODE
#end combination
;;**************************************
;; 固有名詞ショートカット
;; 薙刀式のカナで始まる言葉を登録すると使いやすい
;; カタカナを使う場合は、設定画面の「同時打鍵・IME」>「IMEの入力モード対応時にカタカナをひらがに変換」をOFFにするとよい
#combination successive
;; UIを押しながら左手
-U,I>{
"" | "" | "" | "" | "" ||||||
"" |臨兵闘者皆陣烈在前|天狗 |シンイチ |ネムカケ ||||||
三神 |峯 |小鴉 |光太郎 | "" ||||||
火よ、在れ|火の剣 |罵詈雑 |心の闇 | "" ||||||
}
;; ERを押しながら右手
-E,R>{
||||| "" | "" | "" | "" | "" |
|||||才一 |さくら |酒田 | "" | "" |
|||||鞍馬 |青鬼 |百地 | "" |不動金縛りの術|
|||||鬼塚 |赤石 |八幡 | "" |霊槍 |
}
;; 登録の仕方
;; そのままキーの位置を示しています。
;; 頭文字が被るときもあるので、都度、横や上下に移動させることで回避。
;; 半角のスペースは無視されます。この表を見やすくするための空白です。
;; 漢字はそのまま出力されますが、カタカナはひらがなのまま出力されるので、
;; 一回カタカナに変換、IMEにカタカナだと覚えさせましょう。
;; 白はここに置いておきます。コピペして上書きを。数字段もあいてますよ。
#if 0
-U,I>{
| | | | ||||||||
| | | | ||||||||
| | | | ||||||||
| | | | ||||||||
}
-E,R>{
||||| | | | | | | |
||||| | | | | | | |
||||| | | | | | | |
||||| | | | | | | |
}
#endif
#end combination
;;***********************************************************
;; SandSシフト中またはスペースキーとの同時打鍵中も有効なもの
;;***********************************************************
#ifdef USE_SANDS
#SandS
#else
#ignoreWarning braceLevel
#combination successive
-40>{
#endif
;; 濁音/半濁音
#load DAKUON_HANDAKUON
;; 拗音
#load YOUON
;; ENTER
-V,M>!{Enter}
;; 編集モード
#load EDIT_MODE
#ifdef USE_SANDS
#end SandS
#else
}
#end combination
#endif
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment