#----------------------------------------------------------------------
# KEYCONF.ini

#	このファイルは、Windows版 QUASI88 のキー設定ファイルです。
#	このファイルは、QUASI88の設定ファイルにて
#	「-keyboard 0」を指定した場合に限り、読み込まれます。
#	上記指定が無い場合は、このファイルは読まれません。

#	このファイルは、実行ファイル QUASI88.exe と同じフォルダに
#	コピーしてお使い下さい。拡張子は ini ですが、通常の ini ファイルと
#	書式が全く異なります。ごめんなさい。

#----------------------------------------------------------------------

# 簡単な説明
#
#	・1行は 255文字以内としてください。
#	・# から行末までは、コメントとみなされます。
#	・各パラメータの区切りは、1個以上のスペースかタブです。
#
#	[SDL2] の行以降に、キーの設定を記述してください。
#
#	SDL2 では、物理的なキー毎にスキャンコードが割り当てられているので、
#	このスキャンコードと QUASI88 のキーの対応を記述します。
#
#	例えば 「1」キーを押すとスキャンコード 「SDL_SCANCODE_1」が通知され
#	ます。以下の行のように書くと 「SDL_SCANCODE_1」が通知された時に
#	QUASI88 では 「KEY88_1」のキー (「1」キー) を押したとみなされます。
#
#		SDL_SCANCODE_1		KEY88_1
#
#	シフトキーを押しながら「1」のキーを押してもスキャンコードは同じです。
#	(「!」キーに該当するスキャンコードは存在しません)
#	なお、QUASI88 でも「1」キーと「!」キーの区別はありません。
#
#	スキャンコードの名称は、 us101キーボードを前提としています。
#	例えば、jp106キーボードの 「-」 キーの右にあるキーのスキャンコードは、
#	「SDL_SCANCODE_EQUALS」です。以下の行のように書くと、「-」キーの右の
#	キーを押したときに、QUASI88 では「^」キーを押したことになります。
#
#		SDL_SCANCODE_EQUALS	KEY88_CARET
#
#	特定のキーを無視することもできます。
#	例えば、Windows環境の QUASI88 ではなぜか 「半角/全角」キーのオフの
#	検知が上手くいかないので、このキーを無視したいとします。
#	「半角/全角」キーのスキャンコードは、 「SDL_SCANCODE_GRAVE」なので、
#	以下の行のように書くと、このキーを無視できます。
#
#		SDL_SCANCODE_GRAVE	0
#
#	もし、スキャンコードの名称が定義されていないキーが存在した場合、
#	以下の行のように書くと、スキャンコードの値を直接指定できます。
#	(jp106キーボードでは、定義されていないキーは存在しないとは思いますが)
#
#		<138>			KEY88_HENKAN
#
#	注意：SDL2には、スキャンコードの他にキーコードも定義されていますが、
#	      この設定ファイルではキーコードは使用できません。
#
#	- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#	SDL1.2 の場合、 [SDL] の行以降に、キーの設定を記述してください。
#
#	SDL1.2 では、キー毎にキーシンボルが割り当てられているので、
#	以下のようにしてキーシンボルと、 QUASI88 のキーの対応を記述します。
#
#		SDLK_1			KEY88_1
#
#	特定のキーを無視する場合の設定の書き方は、 SDL2 と同様です。
#
#	キーによっては、キーシンボルが割り当てられてなかったり、
#	別々のキーに、同じキーシンボルが割り当てられていることがあります。
#	このような場合は、物理的なキー毎に割り当てられている固有の値、
#       スキャンコードと、QUASI88 のキーの対応を記述します。
#
#		<125>			KEY88_YEN
#		<115>			KEY88_UNDERSCORE
#
#----------------------------------------------------------------------

#	以下は、Windows用の日本語106キーボード向けのサンプルです。
#	各自で好きなようにカスタマイズしてください。

#----------------------------------------------------------------------

#
# SDL2 の場合
#

[SDL2]

SDL_SCANCODE_ESCAPE		KEY88_ESC		#
SDL_SCANCODE_F1			KEY88_F1		#
SDL_SCANCODE_F2			KEY88_F2		#
SDL_SCANCODE_F3			KEY88_F3		#
SDL_SCANCODE_F4			KEY88_F4		#
SDL_SCANCODE_F5			KEY88_F5		#
SDL_SCANCODE_F6			KEY88_F6		#
SDL_SCANCODE_F7			KEY88_F7		#
SDL_SCANCODE_F8			KEY88_F8		#
SDL_SCANCODE_F9			KEY88_F9		#
SDL_SCANCODE_F10		KEY88_F10		#
SDL_SCANCODE_F11		KEY88_SYS_STATUS	#
SDL_SCANCODE_F12		KEY88_SYS_MENU		#
SDL_SCANCODE_PRINTSCREEN	KEY88_COPY		# 入力検知不可かも
SDL_SCANCODE_SCROLLLOCK		KEY88_STOP		#
SDL_SCANCODE_PAUSE		KEY88_STOP		# 入力検知不可かも

SDL_SCANCODE_GRAVE		0			# 入力判定が不安定
SDL_SCANCODE_1			KEY88_1			#
SDL_SCANCODE_2			KEY88_2			#
SDL_SCANCODE_3			KEY88_3			#
SDL_SCANCODE_4			KEY88_4			#
SDL_SCANCODE_5			KEY88_5			#
SDL_SCANCODE_6			KEY88_6			#
SDL_SCANCODE_7			KEY88_7			#
SDL_SCANCODE_8			KEY88_8			#
SDL_SCANCODE_9			KEY88_9			#
SDL_SCANCODE_0			KEY88_0			#
SDL_SCANCODE_MINUS		KEY88_MINUS		#
SDL_SCANCODE_EQUALS		KEY88_CARET		#
SDL_SCANCODE_INTERNATIONAL3	KEY88_YEN		#
SDL_SCANCODE_BACKSPACE		KEY88_INS_DEL		#
SDL_SCANCODE_INSERT		KEY88_INS		#
SDL_SCANCODE_HOME		KEY88_HOME		#
SDL_SCANCODE_PAGEUP		KEY88_ROLLDOWN		#
SDL_SCANCODE_NUMLOCKCLEAR	0			#
SDL_SCANCODE_KP_DIVIDE		KEY88_KP_DIVIDE		#
SDL_SCANCODE_KP_MULTIPLY	KEY88_KP_MULTIPLY	#
SDL_SCANCODE_KP_MINUS		KEY88_KP_SUB		#

SDL_SCANCODE_TAB		KEY88_TAB		#
SDL_SCANCODE_Q			KEY88_q			#
SDL_SCANCODE_W			KEY88_w			#
SDL_SCANCODE_E			KEY88_e			#
SDL_SCANCODE_R			KEY88_r			#
SDL_SCANCODE_T			KEY88_t			#
SDL_SCANCODE_Y			KEY88_y			#
SDL_SCANCODE_U			KEY88_u			#
SDL_SCANCODE_I			KEY88_i			#
SDL_SCANCODE_O			KEY88_o			#
SDL_SCANCODE_P			KEY88_p			#
SDL_SCANCODE_LEFTBRACKET	KEY88_AT		#
SDL_SCANCODE_RIGHTBRACKET	KEY88_BRACKETLEFT	#
SDL_SCANCODE_RETURN		KEY88_RETURNL		#
SDL_SCANCODE_DELETE		KEY88_DEL		#
SDL_SCANCODE_END		KEY88_HELP		#
SDL_SCANCODE_PAGEDOWN		KEY88_ROLLUP		#
SDL_SCANCODE_KP_7		KEY88_KP_7		#
SDL_SCANCODE_KP_8		KEY88_KP_8		#
SDL_SCANCODE_KP_9		KEY88_KP_9		#
SDL_SCANCODE_KP_PLUS		KEY88_KP_ADD		#

SDL_SCANCODE_CAPSLOCK		0			# 入力判定が不安定
SDL_SCANCODE_A			KEY88_a			#
SDL_SCANCODE_S			KEY88_s			#
SDL_SCANCODE_D			KEY88_d			#
SDL_SCANCODE_F			KEY88_f			#
SDL_SCANCODE_G			KEY88_g			#
SDL_SCANCODE_H			KEY88_h			#
SDL_SCANCODE_J			KEY88_j			#
SDL_SCANCODE_K			KEY88_k			#
SDL_SCANCODE_L			KEY88_l			#
SDL_SCANCODE_SEMICOLON		KEY88_SEMICOLON		#
SDL_SCANCODE_APOSTROPHE		KEY88_COLON		#
SDL_SCANCODE_BACKSLASH		KEY88_BRACKETRIGHT	#
SDL_SCANCODE_KP_4		KEY88_KP_4		#
SDL_SCANCODE_KP_5		KEY88_KP_5		#
SDL_SCANCODE_KP_6		KEY88_KP_6		#

SDL_SCANCODE_LSHIFT		KEY88_SHIFTL		#
SDL_SCANCODE_Z			KEY88_z			#
SDL_SCANCODE_X			KEY88_x			#
SDL_SCANCODE_C			KEY88_c			#
SDL_SCANCODE_V			KEY88_v			#
SDL_SCANCODE_B			KEY88_b			#
SDL_SCANCODE_N			KEY88_n			#
SDL_SCANCODE_M			KEY88_m			#
SDL_SCANCODE_COMMA		KEY88_COMMA		#
SDL_SCANCODE_PERIOD		KEY88_PERIOD		#
SDL_SCANCODE_SLASH		KEY88_SLASH		#
SDL_SCANCODE_NONUSBACKSLASH	KEY88_UNDERSCORE	#
SDL_SCANCODE_RSHIFT		KEY88_SHIFTR		#
SDL_SCANCODE_UP			KEY88_UP		#
SDL_SCANCODE_KP_1		KEY88_KP_1		#
SDL_SCANCODE_KP_2		KEY88_KP_2		#
SDL_SCANCODE_KP_3		KEY88_KP_3		#
SDL_SCANCODE_KP_ENTER		KEY88_RETURNR		#

SDL_SCANCODE_LCTRL		KEY88_CTRL		#
SDL_SCANCODE_LGUI		KEY88_SYS_MENU		# Windows キー
SDL_SCANCODE_LALT		KEY88_GRAPH		#
SDL_SCANCODE_INTERNATIONAL5	KEY88_KETTEI		# 無変換 キー
SDL_SCANCODE_SPACE		KEY88_SPACE		#
SDL_SCANCODE_INTERNATIONAL4	KEY88_HENKAN		# 変換 キー
SDL_SCANCODE_INTERNATIONAL2	0			# 入力判定が不安定
SDL_SCANCODE_RALT		KEY88_KANA		#
SDL_SCANCODE_RGUI		0			# Windows キー
SDL_SCANCODE_APPLICATION	KEY88_ZENKAKU		# App キー
SDL_SCANCODE_RCTRL		KEY88_CTRL		#
SDL_SCANCODE_LEFT		KEY88_LEFT		#
SDL_SCANCODE_DOWN		KEY88_DOWN		#
SDL_SCANCODE_RIGHT		KEY88_RIGHT		#
SDL_SCANCODE_KP_0		KEY88_KP_0		#
SDL_SCANCODE_KP_PERIOD		KEY88_KP_PERIOD		#



#----------------------------------------------------------------------

#
# SDL1.2 の場合 (SDL_VIDEODRIVER に windib を定義した場合(デフォルト?))
#

[SDL]			windib

SDLK_ESCAPE		KEY88_ESC		#
SDLK_F1			KEY88_F1		#
SDLK_F2			KEY88_F2		#
SDLK_F3			KEY88_F3		#
SDLK_F4			KEY88_F4		#
SDLK_F5			KEY88_F5		#
SDLK_F6			KEY88_F6		#
SDLK_F7			KEY88_F7		#
SDLK_F8			KEY88_F8		#
SDLK_F9			KEY88_F9		#
SDLK_F10		KEY88_F10		#
SDLK_F11		KEY88_SYS_STATUS	#
SDLK_F12		KEY88_SYS_MENU		#
SDLK_PRINT		0			# 入力検知不可
SDLK_SCROLLOCK		KEY88_STOP		#
SDLK_PAUSE		0			# 入力検知不可

SDLK_BACKQUOTE		0			# 入力判定が不安定
SDLK_1			KEY88_1			#
SDLK_2			KEY88_2			#
SDLK_3			KEY88_3			#
SDLK_4			KEY88_4			#
SDLK_5			KEY88_5			#
SDLK_6			KEY88_6			#
SDLK_7			KEY88_7			#
SDLK_8			KEY88_8			#
SDLK_9			KEY88_9			#
SDLK_0			KEY88_0			#
SDLK_MINUS		KEY88_MINUS		#
SDLK_EQUALS		KEY88_CARET		#
<125>			KEY88_YEN		#
SDLK_BACKSPACE		KEY88_INS_DEL		#
SDLK_INSERT		KEY88_INS		#
SDLK_HOME		KEY88_HOME		#
SDLK_PAGEUP		KEY88_ROLLDOWN		#
SDLK_NUMLOCK		0			#
SDLK_KP_DIVIDE		KEY88_KP_DIVIDE		#
SDLK_KP_MULTIPLY	KEY88_KP_MULTIPLY	#
SDLK_KP_MINUS		KEY88_KP_SUB		#

SDLK_TAB		KEY88_TAB		#
SDLK_q			KEY88_q			#
SDLK_w			KEY88_w			#
SDLK_e			KEY88_e			#
SDLK_r			KEY88_r			#
SDLK_t			KEY88_t			#
SDLK_y			KEY88_y			#
SDLK_u			KEY88_u			#
SDLK_i			KEY88_i			#
SDLK_o			KEY88_o			#
SDLK_p			KEY88_p			#
SDLK_LEFTBRACKET	KEY88_AT		#
SDLK_RIGHTBRACKET	KEY88_BRACKETLEFT	#
SDLK_RETURN		KEY88_RETURNL		#
SDLK_DELETE		KEY88_DEL		#
SDLK_END		KEY88_HELP		#
SDLK_PAGEDOWN		KEY88_ROLLUP		#
SDLK_KP7		KEY88_KP_7		#
SDLK_KP8		KEY88_KP_8		#
SDLK_KP9		KEY88_KP_9		#
SDLK_KP_PLUS		KEY88_KP_ADD		#

SDLK_CAPSLOCK		KEY88_CAPS		#
SDLK_a			KEY88_a			#
SDLK_s			KEY88_s			#
SDLK_d			KEY88_d			#
SDLK_f			KEY88_f			#
SDLK_g			KEY88_g			#
SDLK_h			KEY88_h			#
SDLK_j			KEY88_j			#
SDLK_k			KEY88_k			#
SDLK_l			KEY88_l			#
SDLK_SEMICOLON		KEY88_SEMICOLON		#
SDLK_QUOTE		KEY88_COLON		#
<43>			KEY88_BRACKETRIGHT	#
SDLK_KP4		KEY88_KP_4		#
SDLK_KP5		KEY88_KP_5		#
SDLK_KP6		KEY88_KP_6		#

SDLK_LSHIFT		KEY88_SHIFTL		#
SDLK_z			KEY88_z			#
SDLK_x			KEY88_x			#
SDLK_c			KEY88_c			#
SDLK_v			KEY88_v			#
SDLK_b			KEY88_b			#
SDLK_n			KEY88_n			#
SDLK_m			KEY88_m			#
SDLK_COMMA		KEY88_COMMA		#
SDLK_PERIOD		KEY88_PERIOD		#
SDLK_SLASH		KEY88_SLASH		#
<115>			KEY88_UNDERSCORE	#
SDLK_RSHIFT		KEY88_SHIFTR		#
SDLK_UP			KEY88_UP		#
SDLK_KP1		KEY88_KP_1		#
SDLK_KP2		KEY88_KP_2		#
SDLK_KP3		KEY88_KP_3		#
SDLK_KP_ENTER		KEY88_RETURNR		#

SDLK_LCTRL		KEY88_CTRL		#
SDLK_LSUPER		KEY88_SYS_MENU		# Windows キー
SDLK_LALT		KEY88_GRAPH		#
<123>			KEY88_KETTEI		# 無変換 キー
SDLK_SPACE		KEY88_SPACE		#
<121>			KEY88_HENKAN		# 変換 キー
<112>			0			# 入力判定が不安定
SDLK_RALT		KEY88_KANA		#
SDLK_RSUPER		0			# Windows キー
SDLK_MENU		KEY88_ZENKAKU		# App キー
SDLK_RCTRL		KEY88_CTRL		#
SDLK_LEFT		KEY88_LEFT		#
SDLK_DOWN		KEY88_DOWN		#
SDLK_RIGHT		KEY88_RIGHT		#
SDLK_KP0		KEY88_KP_0		#
SDLK_KP_PERIOD		KEY88_KP_PERIOD		#



#----------------------------------------------------------------------

#
# SDL1.2 の場合 (SDL_VIDEODRIVER に directx を定義した場合)
#

[SDL]			directx

SDLK_ESCAPE		KEY88_ESC		#
SDLK_F1			KEY88_F1		#
SDLK_F2			KEY88_F2		#
SDLK_F3			KEY88_F3		#
SDLK_F4			KEY88_F4		#
SDLK_F5			KEY88_F5		#
SDLK_F6			KEY88_F6		#
SDLK_F7			KEY88_F7		#
SDLK_F8			KEY88_F8		#
SDLK_F9			KEY88_F9		#
SDLK_F10		KEY88_F10		#
SDLK_F11		KEY88_SYS_STATUS	#
SDLK_F12		KEY88_SYS_MENU		#
SDLK_PRINT		KEY88_COPY		#
SDLK_SCROLLOCK		KEY88_STOP		#
SDLK_PAUSE		0			# 入力検知不可

<148>			KEY88_CAPS		# 全角/半角 キー (トグル)
SDLK_1			KEY88_1			#
SDLK_2			KEY88_2			#
SDLK_3			KEY88_3			#
SDLK_4			KEY88_4			#
SDLK_5			KEY88_5			#
SDLK_6			KEY88_6			#
SDLK_7			KEY88_7			#
SDLK_8			KEY88_8			#
SDLK_9			KEY88_9			#
SDLK_0			KEY88_0			#
SDLK_MINUS		KEY88_MINUS		#
<144>			KEY88_CARET		#
<125>			KEY88_YEN		#
SDLK_BACKSPACE		KEY88_INS_DEL		#
SDLK_INSERT		KEY88_INS		#
SDLK_HOME		KEY88_HOME		#
SDLK_PAGEUP		KEY88_ROLLDOWN		#
SDLK_NUMLOCK		0			#
SDLK_KP_DIVIDE		KEY88_KP_DIVIDE		#
SDLK_KP_MULTIPLY	KEY88_KP_MULTIPLY	#
SDLK_KP_MINUS		KEY88_KP_SUB		#

SDLK_TAB		KEY88_TAB		#
SDLK_q			KEY88_q			#
SDLK_w			KEY88_w			#
SDLK_e			KEY88_e			#
SDLK_r			KEY88_r			#
SDLK_t			KEY88_t			#
SDLK_y			KEY88_y			#
SDLK_u			KEY88_u			#
SDLK_i			KEY88_i			#
SDLK_o			KEY88_o			#
SDLK_p			KEY88_p			#
<145>			KEY88_AT		#
SDLK_LEFTBRACKET	KEY88_BRACKETLEFT	#
SDLK_RETURN		KEY88_RETURNL		#
SDLK_DELETE		KEY88_DEL		#
SDLK_END		KEY88_HELP		#
SDLK_PAGEDOWN		KEY88_ROLLUP		#
SDLK_KP7		KEY88_KP_7		#
SDLK_KP8		KEY88_KP_8		#
SDLK_KP9		KEY88_KP_9		#
SDLK_KP_PLUS		KEY88_KP_ADD		#

SDLK_CAPSLOCK		KEY88_CAPS		#
SDLK_a			KEY88_a			#
SDLK_s			KEY88_s			#
SDLK_d			KEY88_d			#
SDLK_f			KEY88_f			#
SDLK_g			KEY88_g			#
SDLK_h			KEY88_h			#
SDLK_j			KEY88_j			#
SDLK_k			KEY88_k			#
SDLK_l			KEY88_l			#
SDLK_SEMICOLON		KEY88_SEMICOLON		#
<146>			KEY88_COLON		#
SDLK_RIGHTBRACKET	KEY88_BRACKETRIGHT	#
SDLK_KP4		KEY88_KP_4		#
SDLK_KP5		KEY88_KP_5		#
SDLK_KP6		KEY88_KP_6		#

SDLK_LSHIFT		KEY88_SHIFTL		#
SDLK_z			KEY88_z			#
SDLK_x			KEY88_x			#
SDLK_c			KEY88_c			#
SDLK_v			KEY88_v			#
SDLK_b			KEY88_b			#
SDLK_n			KEY88_n			#
SDLK_m			KEY88_m			#
SDLK_COMMA		KEY88_COMMA		#
SDLK_PERIOD		KEY88_PERIOD		#
SDLK_SLASH		KEY88_SLASH		#
SDLK_BACKSLASH		KEY88_UNDERSCORE	#
SDLK_RSHIFT		KEY88_SHIFTR		#
SDLK_UP			KEY88_UP		#
SDLK_KP1		KEY88_KP_1		#
SDLK_KP2		KEY88_KP_2		#
SDLK_KP3		KEY88_KP_3		#
SDLK_KP_ENTER		KEY88_RETURNR		#

SDLK_LCTRL		KEY88_CTRL		#
SDLK_LMETA		KEY88_SYS_MENU		# Windows キー
SDLK_LALT		KEY88_GRAPH		#
<123>			KEY88_KETTEI		# 無変換 キー
SDLK_SPACE		KEY88_SPACE		#
<121>			KEY88_HENKAN		# 変換 キー
<112>			KEY88_KANA		# ひらがな キー (トグル)
SDLK_RALT		KEY88_KANA		#
SDLK_RMETA		0			# Windows キー
SDLK_MENU		KEY88_ZENKAKU		# App キー
SDLK_RCTRL		KEY88_CTRL		#
SDLK_LEFT		KEY88_LEFT		#
SDLK_DOWN		KEY88_DOWN		#
SDLK_RIGHT		KEY88_RIGHT		#
SDLK_KP0		KEY88_KP_0		#
SDLK_KP_PERIOD		KEY88_KP_PERIOD		#



#----------------------------------------------------------------------
