Jump to content
Welcome to our new Citrix community!
  • 0

Control+break (control+pause) keyboard shortcut is not sent to Excel


Lucas Vieites

Question

Hi, I am not able to find any way to use the "Control+Break" shortcut form my ICA Client on Linux I need this to manage macros in MS Excel.
Is there any way to configure this. I've seen the options in "Tools/Settings" then "Keybopard Shortcuts" but the "Break" ("Pause") key is not there.
Any suggestions?

Thank you in advance

Link to comment

4 answers to this question

Recommended Posts

  • 0

Toan, have a look at this wiki text that states that on some keyboards the Break function is assigned to Ctrl+ScrLk. This helped me out.

If this doesn't help or there is no ScrLk key on your keyboard there is another, more elaborate, way. Is uses script where you can:
1) find the pid of the Citrix Window where Ctrl+Break keystrokes do not arrive
2) send the right keystrokes to that window.

I made such a bash script myself in a Linux environment (Linux Mint 19.3 Cinnamon, Citrix 19.12.0.19).
You could put it to use in the following steps:
1) save the script in a bash file, e.g. as "send_break_keycodes_to_Citrix_window.sh" .

2) make the file executable, e.g. with "chmod +x /full_path/send_break_keycodes_to_Citrix_window.sh".

3) edit the file in an editor. Edit terms like " Wfica", "*ADW*".

4) open Gnome terminal.

5) test the script file with a call like "gnome-terminal -- bash -c "/full_path/keyboard/send_break_keycodes_to_Citrix_window.sh".
     It might well be you must play around with the key codes right (37+78 in my case) to get them right. Do some more editing in the editor, test some more in Gnome terminal.

6) after test is OK you can attach the script file to a key on your keyboard.

7) Add custom shortcut in System Settings, Keyboard, Shortcuts, Custom Shortcuts.

8) give the shortcut a name of your liking and set the command to something like
"gnome-terminal -- bash -c "/full_path/send_break_keycodes_to_Citrix_window.sh".
9) add one or more bindings to the shortcut key. I used the F12 key myself as it is the function key that is most near the Break key.
Happy breaking!

 

#!/bin/bash
# to make this file executable run in terminal:                   chmod +x /full_path/send_break_keycodes_to_Citrix_window.sh
# call this script in Linux Mint with         : gnome-terminal -- bash -c "/full_path/send_break_keycodes_to_Citrix_window.sh"

#find Citrix windows and their pids
pids=$(xdotool search --class "Wfica")

# find window by name
found=0
# replace expression "*ADW*" by your expression; it can be found in title bar of Citrix window 
search=*ADW*
for pid in $pids; do
    name=$(xdotool getwindowname $pid)
    if [[ $name == $search ]]; then
        found=1;
        break;
    fi
done

if [[ $found == 1 ]]; then
    # sleep 0.2 seconds:
    # Virtually pressing keys from a shortcut key combination will practically always lead to key- clashes,
    # since the keys you physically press, will be combined with the ones you virtually press.
    # One way to avosid the issue is to give your fingers the time to "leave" the keys,
    # to avoid the real keystrokes to be combined with the virtual ones.
    # Even then though, you need to release the shortcut after you pressed them.
    # Note:
    # If you are still having an issue, increase the sleep time (and only press the shortcut key shortly)
    # Thanks to Jacob Vlijm, https://askubuntu.com/questions/766218/bash-script-cannot-run-with-keyboard-shortcut
    sleep 0.2 

    # send Control+Scroll_lock keys 37+78 or another combination that works as Control+Break in Citrix
    xdotool key --window $pid --clearmodifiers 37+78
else
   echo search on Citrix window with $search expression failed. 
fi

  

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...