Skip to content

magic number 修正 (keycode)#2396

Open
gorogoro123 wants to merge 1 commit intosakura-editor:masterfrom
gorogoro123:feature/fix_magic_number_keycode
Open

magic number 修正 (keycode)#2396
gorogoro123 wants to merge 1 commit intosakura-editor:masterfrom
gorogoro123:feature/fix_magic_number_keycode

Conversation

@gorogoro123
Copy link
Copy Markdown
Contributor

PR対象

  • アプリ(サクラエディタ本体)

カテゴリ

  • 改善

PR の背景

keycode に magic number を使用している。

仕様・動作説明

定義値を使うようにします。

PR の影響範囲

影響なし。

テスト内容

コンパイル設定で、プリプロセッサ - ファイル前の処理 - はい(/P) に設定、前処理済み出力をファイル(*.i)に書き込み、変更前後で同じであることを確認する。

変更前

	{ 0x00bd,	{ L"-" },			{ F_0,				F_0,				F_COPYFNAME,			F_SPLIT_V,			F_0,					F_0,				F_0,					F_0 }, },
	{ 0x00de,	{ (LPCWSTR)34667 },		{ F_0,				F_0,				F_COPYTAG,				F_0,				F_0,					F_0,				F_0,					F_0 }, },
	{ 0x00dc,	{ L"\\" },			{ F_0,				F_0,				F_COPYPATH,				F_SPLIT_H,			F_0,					F_0,				F_0,					F_0 }, },
	{ 0x00c0,	{ (LPCWSTR)34668 },		{ F_0,				F_0,				F_COPYLINES,			F_0,				F_0,					F_0,				F_0,					F_0 }, },
	{ 0x00db,	{ L"[" },			{ F_0,				F_0,				F_BRACKETPAIR,			F_0,				F_0,					F_0,				F_0,					F_0 }, },
	{ 0x00bb,	{ L";" },			{ F_0,				F_0,				F_0,					F_SPLIT_VH,			F_INS_DATE,				F_0,				F_0,					F_0 }, },
	{ 0x00ba,	{ L":" },			{ F_0,				F_0,				F_COPYLINESWITHLINENUMBER,		F_0,				F_INS_TIME,				F_0,				F_0,					F_0 }, },
	{ 0x00dd,	{ L"]" },			{ F_0,				F_0,				F_BRACKETPAIR,			F_0,				F_0,					F_0,				F_0,					F_0 }, },
	{ 0x00bc,	{ L"," },			{ F_0,				F_0,				F_0,					F_0,				F_0,					F_0,				F_0,					F_0 }, },
	{ 0x00be,	{ L"." },			{ F_0,				F_0,				F_COPYLINESASPASSAGE,	F_0,				F_0,					F_0,				F_0,					F_0 }, },
	{ 0x00bf,	{ L"/" },			{ F_0,				F_0,				F_HOKAN,				F_0,				F_0,					F_0,				F_0,					F_0 }, },
	{ 0x00e2,	{ L"_" },			{ F_0,				F_0,				F_UNDO,					F_0,				F_0,					F_0,				F_0,					F_0 }, },
	{ 0x00df,	{ L"_(PC-98)" },	{ F_0,				F_0,				F_UNDO,					F_0,				F_0,					F_0,				F_0,					F_0 }, },

変更後

	{ 0xBD,	{ L"-" },			{ F_0,				F_0,				F_COPYFNAME,			F_SPLIT_V,			F_0,					F_0,				F_0,					F_0 }, },
	{ 0xDE,		{ (LPCWSTR)34667 },		{ F_0,				F_0,				F_COPYTAG,				F_0,				F_0,					F_0,				F_0,					F_0 }, },
	{ 0xDC,		{ L"\\" },			{ F_0,				F_0,				F_COPYPATH,				F_SPLIT_H,			F_0,					F_0,				F_0,					F_0 }, },
	{ 0xC0,		{ (LPCWSTR)34668 },		{ F_0,				F_0,				F_COPYLINES,			F_0,				F_0,					F_0,				F_0,					F_0 }, },
	{ 0xDB,		{ L"[" },			{ F_0,				F_0,				F_BRACKETPAIR,			F_0,				F_0,					F_0,				F_0,					F_0 }, },
	{ 0xBB,	{ L";" },			{ F_0,				F_0,				F_0,					F_SPLIT_VH,			F_INS_DATE,				F_0,				F_0,					F_0 }, },
	{ 0xBA,		{ L":" },			{ F_0,				F_0,				F_COPYLINESWITHLINENUMBER,		F_0,				F_INS_TIME,				F_0,				F_0,					F_0 }, },
	{ 0xDD,		{ L"]" },			{ F_0,				F_0,				F_BRACKETPAIR,			F_0,				F_0,					F_0,				F_0,					F_0 }, },
	{ 0xBC,	{ L"," },			{ F_0,				F_0,				F_0,					F_0,				F_0,					F_0,				F_0,					F_0 }, },
	{ 0xBE,{ L"." },			{ F_0,				F_0,				F_COPYLINESASPASSAGE,	F_0,				F_0,					F_0,				F_0,					F_0 }, },
	{ 0xBF,		{ L"/" },			{ F_0,				F_0,				F_HOKAN,				F_0,				F_0,					F_0,				F_0,					F_0 }, },
	{ 0xE2,	{ L"_" },			{ F_0,				F_0,				F_UNDO,					F_0,				F_0,					F_0,				F_0,					F_0 }, },
	{ 0xDF,		{ L"_(PC-98)" },	{ F_0,				F_0,				F_UNDO,					F_0,				F_0,					F_0,				F_0,					F_0 }, },

関連 issue, PR

参考資料

https://learn.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes

@github-actions
Copy link
Copy Markdown

Test Results

908 tests  ±0   908 ✅ ±0   2m 35s ⏱️ -1s
 86 suites ±0     0 💤 ±0 
  1 files   ±0     0 ❌ ±0 

Results for commit a9ec1e7. ± Comparison against base commit b4f29b9.

@sonarqubecloud
Copy link
Copy Markdown

Copy link
Copy Markdown
Contributor

@berryzplus berryzplus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ここのベタ書きリテラルは低レベルなので修正の意味はないと思います。

VK_OEM_7 では結局「OEM向けに予約されたキーコードの7個目」までしか判らず、0x00c0 と変わりません。レイアウト的に「昇順で定義されている」、「抜け番が存在する」を把握しやすい現状のベタ書きスタイルのほうがマシな気もします。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants