Não sei se você viu KeyCue , mas basicamente exibe uma lista de atalhos no app frontmost quando você segura o comando.
EutambémescreviumAppleScriptquesalvaarquivosdetextoparaitensdemenueseusatalhos.Eurealmentenuncapreciseidemimmesmo-émaisfácilprocuraratalhosnabarrademenu.
setprocsto{"TextEdit"}
repeat with proc in procs
activate application proc
tell application "System Events" to tell process proc
set out to ""
repeat with v in menu bar items 2 thru -1 of menu bar 1
set out to out & name of v & linefeed
repeat with w in menu items of menu 1 of v
try
set nme to name of w
set sc to my getshortcut(proc, w)
if nme is not missing value and sc is not missing value then
set out to out & " " & sc & " " & nme & linefeed
end if
end try
try
set mi to menu items of menu 1 of w
set subout to " " & name of w & linefeed
set appendsubout to false
repeat with x in mi
try
set nme to name of x
set sc to my getshortcut(proc, x)
if nme is not missing value and sc is not missing value then
set subout to subout & " " & " " & sc & " " & nme & linefeed
set appendsubout to true
end if
end try
end repeat
if appendsubout then set out to out & subout
end try
end repeat
end repeat
end tell
try
set vers to " " & version of application proc
on error
set vers to ""
end try
do shell script "echo " & quoted form of out & " > ~/Desktop/" & quoted form of (proc & vers & ".txt")
end repeat
on getshortcut(proc, x)
set text item delimiters to space
set menuglyphs to text items of "2 ⇥ 3 ⇤ 4 ⌤ 9 ␣ 10 ⌦ 11 ↩ 16 ↓ 23 ⌫ 24 ← 25 ↑ 26 → 27 ⎋ 28 ⌧ 98 ⇞ 99 ⇪ 100 ← 101 → 102 ↖ 104 ↑ 105 ↘ 106 ↓ 107 ⇟ 111 F1 112 F2 113 F3 114 F4 115 F5 116 F6 117 F7 118 F8 119 F9 120 F10 121 F11 122 F12 135 F13 136 F14 137 F15 140 ⏏ 143 F16 144 F17 145 F18 146 F19"
set cmdmods to text items of "⌘ ⇧⌘ ⌥⌘ ⌥⇧⌘ ⌃⌘ ⌃⇧⌘ ⌃⌥⌘ ⌃⌥⇧⌘ - ⇧ ⌥ ⌥⇧ ⌃ ⌃⇧ ⌃⌥ ⌃⌥⇧"
tell application "System Events" to tell process proc
set c to ""
try
set n to value of attribute "AXMenuItemCmdModifiers" of x
set modifier to item (n + 1) of cmdmods
if modifier is "-" then set modifier to ""
try
set c to (value of attribute "AXMenuItemCmdChar" of x)
c as text
return modifier & c
on error
set glyph to (value of attribute "AXMenuItemCmdGlyph" of x) as text
repeat with i from 1 to (count menuglyphs)
if item i of menuglyphs is glyph then
return modifier & item (i + 1) of menuglyphs
end if
end repeat
end try
end try
end tell
return missing value
end getshortcut