본문 바로가기

Tips/Mac

[MAC TIP] Key Press Action with AppleScript

This is an AppleScript to act like a keyboard action. 

Run a script like this in AppleScript Editor:

activate application "Firefox"

repeat 100times

tell application "System Events" to keystroke "a" using command down

delay (random number from 0.5 to 5)

end repeat


- More examples:

tell application "System Events"

key code 123 using {shift down, command down} -- shift-command-left

end

set old to (path to frontmost application as text)

tell application "Notes"

reopen

activate

end tell

tell application "System Events" to keystroke "f" using {control down, command down}

delay 1

activate application old

delay 0.5 --time to release modifier keys if for example the script is run with command-R

tell application "System Events"to tell process "Notification Center"

try

key down option

delay 0.1

click menu bar item 1 of menu bar 1

end try

key up option

end tell



See Events.h for a list of key codes.

$ grep '^ *kVK' /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/Headers/Events.h|tr -d ,|while read x y z;do printf '%d %s %s\n' $z $z ${x#kVK_};done|sort -n

0 0x00 ANSI_A

1 0x01 ANSI_S

2 0x02 ANSI_D

3 0x03 ANSI_F

4 0x04 ANSI_H

5 0x05 ANSI_G

6 0x06 ANSI_Z

7 0x07 ANSI_X

8 0x08 ANSI_C

9 0x09 ANSI_V

10 0x0A ISO_Section

11 0x0B ANSI_B

12 0x0C ANSI_Q

13 0x0D ANSI_W

14 0x0E ANSI_E

15 0x0F ANSI_R

16 0x10 ANSI_Y

17 0x11 ANSI_T

18 0x12 ANSI_1

19 0x13 ANSI_2

20 0x14 ANSI_3

21 0x15 ANSI_4

22 0x16 ANSI_6

23 0x17 ANSI_5

24 0x18 ANSI_Equal

25 0x19 ANSI_9

26 0x1A ANSI_7

27 0x1B ANSI_Minus

28 0x1C ANSI_8

29 0x1D ANSI_0

30 0x1E ANSI_RightBracket

31 0x1F ANSI_O

32 0x20 ANSI_U

33 0x21 ANSI_LeftBracket

34 0x22 ANSI_I

35 0x23 ANSI_P

36 0x24 Return

37 0x25 ANSI_L

38 0x26 ANSI_J

39 0x27 ANSI_Quote

40 0x28 ANSI_K

41 0x29 ANSI_Semicolon

42 0x2A ANSI_Backslash

43 0x2B ANSI_Comma

44 0x2C ANSI_Slash

45 0x2D ANSI_N

46 0x2E ANSI_M

47 0x2F ANSI_Period

48 0x30 Tab

49 0x31 Space

50 0x32 ANSI_Grave

51 0x33 Delete

53 0x35 Escape

55 0x37 Command

56 0x38 Shift

57 0x39 CapsLock

58 0x3A Option

59 0x3B Control

60 0x3C RightShift

61 0x3D RightOption

62 0x3E RightControl

63 0x3F Function

64 0x40 F17

65 0x41 ANSI_KeypadDecimal

67 0x43 ANSI_KeypadMultiply

69 0x45 ANSI_KeypadPlus

71 0x47 ANSI_KeypadClear

72 0x48 VolumeUp

73 0x49 VolumeDown

74 0x4A Mute

75 0x4B ANSI_KeypadDivide

76 0x4C ANSI_KeypadEnter

78 0x4E ANSI_KeypadMinus

79 0x4F F18

80 0x50 F19

81 0x51 ANSI_KeypadEquals

82 0x52 ANSI_Keypad0

83 0x53 ANSI_Keypad1

84 0x54 ANSI_Keypad2

85 0x55 ANSI_Keypad3

86 0x56 ANSI_Keypad4

87 0x57 ANSI_Keypad5

88 0x58 ANSI_Keypad6

89 0x59 ANSI_Keypad7

90 0x5A F20

91 0x5B ANSI_Keypad8

92 0x5C ANSI_Keypad9

93 0x5D JIS_Yen

94 0x5E JIS_Underscore

95 0x5F JIS_KeypadComma

96 0x60 F5

97 0x61 F6

98 0x62 F7

99 0x63 F3

100 0x64 F8

101 0x65 F9

102 0x66 JIS_Eisu

103 0x67 F11

104 0x68 JIS_Kana

105 0x69 F13

106 0x6A F16

107 0x6B F14

109 0x6D F10

111 0x6F F12

113 0x71 F15

114 0x72 Help

115 0x73 Home

116 0x74 PageUp

117 0x75 ForwardDelete

118 0x76 F4

119 0x77 End

120 0x78 F2

121 0x79 PageDown

122 0x7A F1

123 0x7B LeftArrow

124 0x7C RightArrow

125 0x7D DownArrow

126 0x7E UpArrow


You can also use AppleScript to click menu items:

tell application "System Events" to tell (process 1 where frontmost is true)

click menu item "Minimize" of menu 1 of menu bar item "Window" of menu bar 1

end tell

tell application "System Events" to tell process "Finder"

set frontmost to true

tell menu bar item 3 of menu bar 1

click

click menu item "Open with" of menu 1

end tell