[Blender]ウィンドウ毎の未使用キーマップをリストアップするスクリプト
例によってchatGPTに書いてもらいました。
システムコンソールにリストアップされます。
今表示中のウィンドウが対象になります。
手元に無いキーも含まれます。
import bpy
# Blenderの全キーリストを作成
all_keys = {
'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',
'ZERO', 'ONE', 'TWO', 'THREE', 'FOUR', 'FIVE', 'SIX', 'SEVEN', 'EIGHT', 'NINE',
'LEFT_CTRL', 'LEFT_ALT', 'LEFT_SHIFT', 'RIGHT_CTRL', 'RIGHT_ALT', 'RIGHT_SHIFT',
'OSKEY', 'GRLESS', 'ESC', 'TAB', 'RET', 'SPACE', 'LINE_FEED', 'BACK_SPACE', 'DEL', 'SEMI_COLON',
'PERIOD', 'COMMA', 'QUOTE', 'ACCENT_GRAVE', 'MINUS', 'SLASH', 'BACK_SLASH', 'EQUAL', 'LEFT_BRACKET', 'RIGHT_BRACKET',
'LEFT_ARROW', 'DOWN_ARROW', 'RIGHT_ARROW', 'UP_ARROW',
'NUMPAD_2', 'NUMPAD_4', 'NUMPAD_6', 'NUMPAD_8', 'NUMPAD_1', 'NUMPAD_3', 'NUMPAD_5', 'NUMPAD_7', 'NUMPAD_9', 'NUMPAD_0', 'NUMPAD_PERIOD',
'NUMPAD_SLASH', 'NUMPAD_ASTERIX', 'NUMPAD_MINUS', 'NUMPAD_ENTER', 'NUMPAD_PLUS',
'F1', 'F2', 'F3', 'F4', 'F5', 'F6', 'F7', 'F8', 'F9', 'F10', 'F11', 'F12', 'F13', 'F14', 'F15', 'F16', 'F17', 'F18', 'F19',
'PAUSE', 'INSERT', 'HOME', 'PAGE_UP', 'PAGE_DOWN', 'END'
}
# 現在のキーマップを取得
keyconfigs = bpy.context.window_manager.keyconfigs
keymaps = keyconfigs.user.keymaps
# エリア毎のキーマップを取得
area_keymaps = {}
for area in bpy.context.workspace.screens[0].areas:
area_type = area.type
if area_type not in area_keymaps:
area_keymaps[area_type] = set()
for keymap in keymaps:
if keymap.is_modal:
continue
for item in keymap.keymap_items:
if item.type in all_keys and keymap.space_type == area_type:
area_keymaps[area_type].add(item.type)
# 結果を出力
for area_type, used_keys in area_keymaps.items():
unused_keys = all_keys - used_keys
print(f"\nUnused Keys in {area_type}:")
for key in sorted(unused_keys):
print(key)
この記事が気に入ったらサポートをしてみませんか?