cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Serg24
Frequent Visitor

Passing keyboard shortcuts to Power Automate desktop

Hi all, 

 

I'm automating SAP application and in order to be 100% sure that my automation clicks on the correct element, I want to use SAP shortcuts (for instance, "Shift+F5" and so on). Could someone help me to understand how I can make Power Automate desktop understand them? If some specific syntax is used, I would appreciate if you share the link to the whole list (including Ctrl, Alt, and so on) and provide and example for Shift+F5 combination (because often I need to combine more that 1 shortcut).

 

I thought about using an Action "Send keys" but, as I understood it receives a string input, meaning when typing Shift I would not pass a Shift button, but 5 keys. "S", "h", "i", "f" and "t".

 

Thank you!

1 ACCEPTED SOLUTION

Accepted Solutions
adijain
Microsoft
Microsoft

Hello @Serg24

 

The "Send Keys" Action sends keystrokes to the application that is currently active. It can either be sent in the background as a software input or can be mimicked like from a keyboard when sent as hardware keys. To simulate key-presses inside a Send Keys Action, use the following notation: {KeyCode}. where KeyCode is the capital form of the letter itself for letters A-Z. OemSemicolon for ';', Oemplus for '+', Oemcomma for ',', OemMinus for '-', OemPeriod for '.', OemQuestion for '?', Oemtilde for '~', OemOpenBrackets for '[', OemPipe for '|', etc. 

 

Further {KeyCode1}({KeyCode2}) would send a combination of the keys {KeyCode1} + {KeyCode2}.

 

In your case for the key combination SHIFT + F5 you would need to use this key code: {Shift}({F5})

 

Please find the full list of valid key codes below:

Full List of Valid Key Codes

LButton
RButton
Cancel
MButton
XButton1
XButton2
Back
Tab
LineFeed
Clear
Enter
Return
ShiftKey
ControlKey
Menu
Pause
CapsLock
Capital
HangulMode
HanguelMode
KanaMode
JunjaMode
FinalMode
KanjiMode
HanjaMode
Escape
IMEConvert
IMENonconvert
IMEAccept
IMEAceept
IMEModeChange
Space
Prior
PageUp
PageDown
Next (Page Down)
End
Home
Left
Up
Right
Down
Select
Print
Execute
Snapshot
PrintScreen
Insert
Delete
Help
BrowserSearch
BrowserFavorites
BrowserHome
VolumeMute
VolumeDown
VolumeUp
MediaNextTrack
MediaPreviousTrack
MediaStop
MediaPlayPause
LaunchMail
SelectMedia
LaunchApplication1
LaunchApplication2
OemSemicolon
Oem1
Oemplus
Oemcomma
OemMinus
OemPeriod
Oem2
OemQuestion
Oem3
Oemtilde
Oem4
OemOpenBrackets
OemPipe
Oem5
OemCloseBrackets
Oem6
OemQuotes
Oem7
Oem8
Oem102
OemBackslash
ProcessKey
Packet
Attn
Crsel
Exsel
EraseEof
Play
Zoom
NoName
Pa1
OemClear
KeyCode
Shift
Control
Alt
Modifiers
D0
D1
D2
D3
D4
D5
D6
D7
D8
D9
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
LWin
RWin
Apps (Menu key)
Sleep
NumPad0
NumPad1
NumPad2
NumPad3
NumPad4
NumPad5
NumPad6
NumPad7
NumPad8
NumPad9
Multiply
Add
Separator
Subtract
Decimal
Divide
F1
F2
F3
F4
F5
F6
F7
F8
F9
F10
F11
F12
F13
F14
F15
F16
F17
F18
F19
F20
F21
F22
F23
F24
NumLock
Scroll
LShiftKey
RShiftKey
LControlKey
RControlKey
LMenu
RMenu
BrowserBack
BrowserForward
BrowserRefresh
BrowserStop

View solution in original post

4 REPLIES 4
adijain
Microsoft
Microsoft

Hello @Serg24

 

The "Send Keys" Action sends keystrokes to the application that is currently active. It can either be sent in the background as a software input or can be mimicked like from a keyboard when sent as hardware keys. To simulate key-presses inside a Send Keys Action, use the following notation: {KeyCode}. where KeyCode is the capital form of the letter itself for letters A-Z. OemSemicolon for ';', Oemplus for '+', Oemcomma for ',', OemMinus for '-', OemPeriod for '.', OemQuestion for '?', Oemtilde for '~', OemOpenBrackets for '[', OemPipe for '|', etc. 

 

Further {KeyCode1}({KeyCode2}) would send a combination of the keys {KeyCode1} + {KeyCode2}.

 

In your case for the key combination SHIFT + F5 you would need to use this key code: {Shift}({F5})

 

Please find the full list of valid key codes below:

Full List of Valid Key Codes

LButton
RButton
Cancel
MButton
XButton1
XButton2
Back
Tab
LineFeed
Clear
Enter
Return
ShiftKey
ControlKey
Menu
Pause
CapsLock
Capital
HangulMode
HanguelMode
KanaMode
JunjaMode
FinalMode
KanjiMode
HanjaMode
Escape
IMEConvert
IMENonconvert
IMEAccept
IMEAceept
IMEModeChange
Space
Prior
PageUp
PageDown
Next (Page Down)
End
Home
Left
Up
Right
Down
Select
Print
Execute
Snapshot
PrintScreen
Insert
Delete
Help
BrowserSearch
BrowserFavorites
BrowserHome
VolumeMute
VolumeDown
VolumeUp
MediaNextTrack
MediaPreviousTrack
MediaStop
MediaPlayPause
LaunchMail
SelectMedia
LaunchApplication1
LaunchApplication2
OemSemicolon
Oem1
Oemplus
Oemcomma
OemMinus
OemPeriod
Oem2
OemQuestion
Oem3
Oemtilde
Oem4
OemOpenBrackets
OemPipe
Oem5
OemCloseBrackets
Oem6
OemQuotes
Oem7
Oem8
Oem102
OemBackslash
ProcessKey
Packet
Attn
Crsel
Exsel
EraseEof
Play
Zoom
NoName
Pa1
OemClear
KeyCode
Shift
Control
Alt
Modifiers
D0
D1
D2
D3
D4
D5
D6
D7
D8
D9
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
LWin
RWin
Apps (Menu key)
Sleep
NumPad0
NumPad1
NumPad2
NumPad3
NumPad4
NumPad5
NumPad6
NumPad7
NumPad8
NumPad9
Multiply
Add
Separator
Subtract
Decimal
Divide
F1
F2
F3
F4
F5
F6
F7
F8
F9
F10
F11
F12
F13
F14
F15
F16
F17
F18
F19
F20
F21
F22
F23
F24
NumLock
Scroll
LShiftKey
RShiftKey
LControlKey
RControlKey
LMenu
RMenu
BrowserBack
BrowserForward
BrowserRefresh
BrowserStop

View solution in original post

Serg24
Frequent Visitor

Thank you very much, @adijain! This is exactly what I was looking for!
Would be nice if this explanation can be added to the official documentation on Send Keys.

Thanks for this answer. I am struggling with using MS Word. I want to find and replace my text in a file. So the keyboard shortcut is Control+H

I entered a Send Keys of  {Control}(H)

 

It does not seem to work. I am generally finding word hard to work with. Id tried it with UI elements, but when you create a new file it seems to forget what the UI is. For example Save,or New just fail in new docs. Is keyboard shortcuts the way to go, and what am I doing wrong in my example above?

Serg24
Frequent Visitor

Hi @Pmorg73 ,

I've just tested Ctrl+H combination and it works fine. It seems that you forgot to add curve brackets around H, so your expression should be: {Control}({H}), where {Control} and {H} are keys you want to pass and () around {H} is used for passing 2 different keys simultaneously. 

To work with UI elements, that are not created at the moment of a flow start, I suggest you to use variables in path definition.  It should give you a new UI element that you can use later on.

Helpful resources

Announcements
MPA User Group

Welcome to the User Group Public Preview

Check out new user group experience and if you are a leader please create your group

MSFTBizAppsLaunchEvent

Experience what’s next for Power Virtual Agents

See the latest Power Automate innovations, updates, and demos from the Microsoft Business Applications Launch Event.

New Super Users

Meet the Power Automate Super Users!

Many congratulations to the Season 1 2021 Flownaut Crew!

Power Platform ISV STudio

Power Platform ISV Studio

ISV Studio is the go-to Power Platform destination for ISV’s to monitor & manage applications post-AppSource publish.

Users online (40,292)