Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[0432/unrepeat-key] メイン画面以外でキーリピート禁止を緩和 #1088

Merged
merged 3 commits into from
May 21, 2021

Conversation

cwtickle
Copy link
Owner

@cwtickle cwtickle commented May 18, 2021

🔨 変更内容 / Details of Changes

  1. メイン画面以外でキーリピート禁止を緩和しました。
    引き続き禁止するキーはKeyBoardEvent.codeの指定に従い、danoni_constants.jsで定義します。
    ※ただし、キーコンフィグ画面、ロード画面は引き続きリピート禁止にします。
// メイン画面以外でキーリピートを許可しないキーを設定
const g_unrepeatObj = {
    key: [`Enter`, `Backspace`, `Delete`, `Escape`, `NumpadEnter`, `Tab`],
    page: [`keyConfig`, `loading`, `loadingIos`],
};
/**
 * キーを押したときの動作(汎用)
 * @param {object} _evt 
 * @param {string} _displayName 
 * @param {function} _func
 */
const commonKeyDown = (_evt, _displayName, _func = _code => { }) => {
	const setCode = transCode(_evt.code);
	if (_evt.repeat && (g_unrepeatObj.page.includes(_displayName) || g_unrepeatObj.key.includes(setCode))) {
		return blockCode(setCode);
	}
	g_inputKeyBuffer[setCode] = true;
  1. メイン画面で、PageUp/PageDownボタンのみキーリピートを許可しました。

🔖 関連Issue, 変更理由 / Related Issues, Reason for Changes

  1. 過去、PR リトライ時に稀に早回しになる不具合の修正 +α #810 でキーリピートを禁止しましたが、メイン画面の一部キーで起こる事象であり、
    他の画面については画面遷移系のキーをブロックできれば十分と思われるため。
  2. Hid+, Sud+のカバー変更に使用するキーであり、連打で調整するのが手間のため。

📷 スクリーンショット / Screenshot

📝 その他コメント / Other Comments

@codeclimate
Copy link

codeclimate bot commented May 19, 2021

Code Climate has analyzed commit 74be06d and detected 0 issues on this pull request.

View more on Code Climate.

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

Successfully merging this pull request may close these issues.

1 participant