Skip to content

Instantly share code, notes, and snippets.

@sinsinpub
Created May 4, 2019 10:55
Show Gist options
  • Save sinsinpub/3d845e97a6992aebca1b0d49ba9a452d to your computer and use it in GitHub Desktop.
Save sinsinpub/3d845e97a6992aebca1b0d49ba9a452d to your computer and use it in GitHub Desktop.
AHK Script: Map PC-98 Japanese Keyboard layout to English
;ダイヤテック FKBN104MRL/EFB2(Majestouch NINJA フルサイズ US配列) PS/2接続
;+ Windows 8 にて動作確認。XPではキーマップが異なるのか、そのまま流用して使うことはできない。
#UseHook
#InstallKeybdHook
#MaxHotkeysPerInterval 200
;RemapGraphKey
;1=グラフ文字キー入れ替え有効
;0=グラフ文字キー入れ替え無効
RemapGraphKey=1
;設定対象プロセスの指定
GroupAdd, JPKEYLAPP, ahk_exe np21nt.exe
GroupAdd, JPKEYLAPP, ahk_exe np2nt.exe
GroupAdd, JPKEYLAPP, ahk_exe np2.exe
;キー割り当て重視型
#IFWinActive ahk_group JPKEYLAPP
;区分はIBM連文節変換プログラムに基づく(保留)
;CapsLock=英数{vka0sc02a}
;CapsLock::send, {blind}{vkF0sc03a}
;SHIFT+CapsLock=CapsLock
;+CapsLock::send, {blind}{CapsLock}
;Alt+CapsLock=漢字番号
;!CapsLock::send, {blind}{vkF2sc03a}
;ALT+右WIN=カナロック(ローマ字)
;^CapsLock::send, {blind}{VK_KANA}
;#CapsLock:: ; Win+CapsLock
;^!CapsLock:: ; Ctrl+Alt+CapsLock
;^!#CapsLock:: ; Ctrl+Alt+Win+CapsLock
;RWin=>LWin
;右WIN=かな
LWIN::send, {vkF2sc070}
;CTRL+右WIN=かな
^LWIN::send, {blind}{vkF2sc070}
;SHIFT+右WIN=カナ
+LWIN::send, {blind}{vkF1sc070}
;ALT+右WIN=カナロック(ローマ字)
!LWIN::send, {blind}{VK_KANA}
;右WIN=Esc
*RWIN::send, {blind}{Esc}
;右Alt=変換=XFER
;*RAlt::send, {blind}{vk1Csc079}
;AppsKey=XFER
*appskey::send, {blind}{vk1Csc079}
;AltGr=LAlt (win8+?)
*RAlt::send {blind}{RAlt Up}{LAlt Down}
*RAlt Up::send {blind}{LAlt Up}
;Ctrl+Esc=VK_OEM_102
^Esc::send {blind}{vke2sc073}
;PrtSc=GRPH
;*PrintScreen::send, {blind}{LAlt Down}
;*PrintScreen Up::send, {blind}{LAlt Up}
;IBM連文節変換プログラム
;Shift+右Alt=前候補
;Alt+右Alt=全候補
;設定値を調べる方法:左に押すキー、右はエミュ上で目的のコードが出るキー
;英語キーボードに存在しないキーなら日本語キーボードを持ってきてKeymillで探る
&::^
*^::send,'
*+`::send,{blind}{~}
*`::send,{blind}{"}
@::send,``
*:::
)::(
(::*
*_::send,{blind}+{vke2sc073}
=::send,{blind}_
*+sc027::send,`;
sc027::send,{blind}=
'::send,{blind}&
"::@
;日本語キーボード固有のVK_OEM_102(vke2sc073,\ろ_|)は割り当てない。
;次の行を有効にするとアプリケーションキーにVK_OEM_102を割り当てる。
;*appskey::send, {blind}{vke2sc073}
;グラフ文字キー入れ替え
IF RemapGraphKey = 1
{
;以下Alt(GRPH)キーが押された場合のみ入れ替え
!=::'
![::send,{blind}+{vkc0sc01a}
!sc027::+
!'::`;
;以下は日本語配列/英語配列共通で使用可能
;Alt+テンキー/ = GRPH+テンキー,[PC98固有] = 亠
!NumpadDiv::vk6c
;Alt+テンキー* = GRPH+テンキー* = ―
;!NumpadMult::send,{blind}{NumpadMult}
;Alt+テンキー- = GRPH+テンキー+ = ニ
!NumpadSub::NumpadAdd
;Alt+テンキー+ = GRPH+テンキー=[PC98固有] = |
!NumpadAdd::vk92
}
return
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment