; thkmc_sample.ini - THKMC 设置文件范本 ; ; 如果你把 thkmc.ini 文件玩坏了,可以使用本文件覆盖 thkmc.ini ,然后根据需要参照注释修改。 ; ; 本文件是 thkmc.ini 的范本,同时也是一个语法参考手册。因为 thkmc.ini 有用到一点点特殊的语法。 ; 如果你能耐心看完下面的所有注释(分号开头的每一行),相信用起 THKMC 来会更加得心应手。 ; 推荐使用带语法高亮的文本编辑器来阅读本文件。 ; ; 本文件适用的 THKMC 版本:1.40 ; [Default] - 全局键位配置 ; ; UP、DOWN、LEFT、RIGHT 的意思分别是 ↑、↓、←、→ 四个方向键 [Default] UP=W DOWN=S LEFT=A RIGHT=D ; 上面这4行设置的意思是将 ↑↓←→ 键分别映射到 WSAD 。 Z=j X=k C=l LSHIFT=i ; 上面这4行又将 Z 改成 J,X 改成 K,C 改成 L,LSHIFT(左SHIFT)改成 I。 ; 你可以看到上面的 jkli 都是小写,这无所谓,大写小写意思都是一样的。 ; ; 等号右边不仅仅可以是字母,你可以设置成键盘上的几乎任何按键(只要 DirectInput8 支持) ; 至于具体支持哪些键,以及键位名称该如何写,请参看源码。 ; https://github.com/wz520/thkmc/blob/master/KeyNamesDX.ahk ; ; 而等号左边,只有游戏中实际使用到的按键才会被映射。 ; 比如 C 键,红魔乡是用不到的,所以 "C=l" 这行对于红魔乡来讲实际上并没有什么卵用,会被忽略掉的。 ; ; 若想要知道一个游戏具体用到了哪些键位,只要运行一下 thkmc,点击“打开程序并应用补丁”,选择你要改键的EXE,然后在消息框中会显示能被修改的键位。 ; 如果你只是想看键位但不想修改EXE,请在应用补丁前勾选“测试模式”复选框。 ; ; 【如果等号右边是整数】 ; 如果等号右边是整数(可以是十六进制(以 0x 开头)),则该整数直接代表 DirectInput8 扫描码。 ; 比如:“GRAVE”(即“`”键,通常位于主键盘区数字键 1 左边)的扫描码为 0x29,那么如果你在INI中写“ESC=0x29”或者“ESC=41”,和写“ESC=GRAVE”是毫无区别的。 ; 【注意】换个角度说,如果你要将 Z 键映射到数字键上,比如“1”,不能写作 “Z=1”,而要写作 “Z=VK1”(因为这里的 1 代表扫描码为 1 的键,查 KeyNamesDX.ahk 可知该键是 “ESC”), ; 当然,由于数字键“1”的扫描码是 0x02,所以可以写成“Z=0x02”或者“Z=2”。不过这样写很迷惑人,容易让别人误以为是数字键"2"。 ; 【各个游戏的专属配置】 ; ; [Default] 段的映射配置会应用到所有游戏,如果要为每个游戏单独添加/修改/删除映射,可以创建一个以游戏代号为名的段,然后在下面写你要修改的映射。 ; ; 以下列出所有游戏的代号和其对应的游戏名称: ; ; th6 : 东方红魔乡 1.02h 日文原版 ; th6 : 东方红魔乡 渔场汉化版(**主程序需脱壳**) ; th7 : 东方妖妖梦 1.00b 日文原版、渔场汉化版 ; th8 : 东方永夜抄 1.00d 日文原版、渔场汉化版 ; th10 : 东方风神录 1.00a 日文原版、东方喝茶委员会汉化版 ; th11 : 东方地灵殿 1.00a 日文原版 ; th12 : 东方星莲船 1.00b 日文原版 ; th125 : 东方文花帖DS 1.00a 日文原版 ; th128 : 妖精大战争 ~ 东方三月精 1.00a 日文原版 ; th13 : 东方神灵庙 1.00c 日文原版 ; th14 : 东方辉针城 1.00b 日文原版、喵玉汉化版 ; th143 : 弹幕天邪鬼 1.00a 日文原版、喵玉汉化版 ; th15 : 东方绀珠传 1.00b 日文原版、喵玉汉化版 ; th16 : 东方天空璋 1.00a 日文原版、喵玉汉化版 ; th165 : 秘封噩梦日记 1.00a 日文原版、喵玉汉化版 ; th17tr ; 东方鬼形兽 0.01a 体验版 ; th17 ; 东方鬼形兽 1.00b 日文原版 ; alcostg : 黄昏酒场 1.00a ; ; 例如: ; 如果要为红魔乡(包括渔场汉化版)修改一些映射,那么就只要在 [th6] 下写上需要添加/修改/删除的映射即可。 ; 在 [th6] 段中没有提到的映射仍然会在 [Default] 段中查找。 ; 【导入其他配置段中的映射】 ; ; 如果你在 [th6] 下写了一些映射,希望也能在 [th7] 里使用,那么你不必复制粘贴,只需要在 [th7] 下面添加一行: ; ; INCLUDE=th6 ; ; 即可。 ; 【删除映射】 ; 对于在 [Default] 段中写好的或者是从其他段中 INCLUDE 的一个映射, ; 比如 UP=W,如果要在另外一个游戏配置中删除该映射(恢复上方向键原有的功能),可以写成: ; ; UP=UP ; ; 或者干脆完全省略等号右边的内容,写成: ; ; UP= ; ; 即可。 ; 【解决映射冲突】 ; 新的映射可能与原有映射冲突。 ; 比如在文花帖DS中,在通关后的菜单上按S键可以手动更新决定性照片。每次按下 S 可以听到拍照的音效。 ; 但是本软件自带的 [Default] 配置中,S 键被映射到了下方向键上。 ; 于是,每次按S键时光标会向下走一格,但同时也会听到拍照的音效。也就是一个键有了两个功能。 ; 但有些作品,新的映射会完全覆盖原有按键的功能。 ; 比如在永夜抄的 Result 界面中按 D 键可以导出游戏记录到 score.txt 文件中。 ; 而本软件自带的 [Default] 配置中,D 键被映射到了右方向键上。 ; 但是在这个作品中不是 D 键有了两个功能,而是 D 键原有功能失效。 ; ; 那么,要解决上述冲突,非常简单,只需将受到影响的映射再重新映射到别的没有冲突的键上即可。 ; 比如对于文花帖的 S 键,可以重新映射到没有被用到的键上,比如 ScrollLock 键: [th125] S=ScrollLock ; 对于永夜抄的 D 键,也可以映射到没有被用到的键上,比如同样是 ScrollLock 键。 [th8] D=ScrollLock ; 现在在文花帖DS中按 ScrollLock 键,就是原来 S 键的功能; ; 而在永夜抄中按 ScrollLock 键,就是原来 D 键的功能。 ; th10 - 东方风神录 [th10] ; 这里我们看一个新语法,我叫它“键位引用”: ESC=th8:D ; 这句话表示取出上面 [th8] 中为字母键 "D" 设置的值,再应用到本段([th10]) 的 "ESC" 这个键位上。 ; 而上面 [th8] 里写着 D=ScrollLock ,所以这句话就等同于 ESC=ScrollLock 。 ; 也就是说现在在风神录里按 ScrollLock 等于原来按 ESC 。 ; 跟手动拷贝过来不同的是,当你改了上面的 D=ScrollLock 后,这里 ESC 的键位也会自动跟着改了。 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; 下面还有 [th12],[th13], ... 请自己补充吧…… ; 最后总结一下,除了 [thkmc] 外,每个段中的设置项的写法有以下三种: ; ; 1. 原键位=新键位 ; 2. INCLUDE=段名 ; 3. 原键位=段名:键位 ; 4. 原键位=原键位 可以简写为: 原键位= ; ; * 键位设置的优先级:[游戏代号] > [游戏代号]中的INCLUDE > [Default] > [Default]中的INCLUDE