Weston keyboard shortcuts

Stable: 03.10.2019 - 13:36 / Revision: 03.10.2019 - 13:35

I am here to prevent the first-page-empty bug!

Template:ArticleMainWriter Template:ReviewersList Template:ArticleApprovedVersion


Weston is the reference implementation of a Wayland compositor.

The table below lists the actions that can be performed through Weston keyboard shortcuts, when the development board is connected to a keyboard.

It must be noted that:

  • <modifier-key> in the table below corresponds to the key used for common bindings. It is defined by binding-modifier=<modifier-key> in the /etc/xdg/weston/weston.ini file. Possible values for <modifier-key> are:
    • "super", i.e. Windows key between "ctrl" and "alt" (default Weston value)
    • "ctrl" (default value in STMicroelectronics images)
    • "alt"
    • "none"
  • The shortcuts are defined in desktop-shell/shell.c[1] file (shell_add_bindings() function)
  • Some shortcuts require that both a keyboard and a mouse are connected to the development board
  • Some shortcuts require that several workspaces are defined. The number of workspaces is defined by num-workspaces=<num-workspaces> in the /etc/xdg/weston/weston.ini file. The maximum number of workspaces is 6. If num-workspaces is not set, one single workspace is configured.
  • The left mouse button allows the activation of a window.

Before proceeding, it is recommended to

  • check the <modifier-key> value:
  grep binding-modifier /etc/xdg/weston/weston.ini                                             
binding-modifier=ctrl
  • check the <num-workspaces> value:
 grep num-workspaces /etc/xdg/weston/weston.ini                                             
num-workspaces=6


Weston keyboard shortcuts
Command Action Condition(s)
ctrl + alt + backspace Kill Weston Keyboard
super + scroll Zoom in / out the desktop Keyboard + mouse
super + alt + scroll Change activated window opacity Keyboard + mouse
<modifier-key> + page up / page down Zoom in / out the desktop Keyboard
<modifier-key> + shift + f Put activated window fullscreen Keyboard
<modifier-key> + left mouse button Move activated window Keyboard + mouse
<modifier-key> + middle mouse button Rotate activated window Keyboard + mouse
<modifier-key> + right mouse button Resize activated window Keyboard + mouse
<modifier-key> + shift + left mouse button Resize activated window Keyboard + mouse
<modifier-key> + tab Switch windows Keyboard
<modifier-key> + k Kill activated window Keyboard
<modifier-key> + key up / key down Switch to previous / next workspace Keyboard + workspaces
<modifier-key> + shift + key up / key down Move activated window to previous / next workspace Keyboard + workspaces
<modifier-key> + Fn Switch to workspace n Keyboard + workspaces
super + s Capture a screenshot (see details below) Keyboard
super + r Start / stop recording a screencast (see details below) Keyboard

Additional shortcuts can be found on internet.

1 Capturing a screenshot

  1. Refer to the table above for the command to be used.
  2. The captured picture (PNG format) is automatically stored in /wayland-screenshot-2018-01-06_01-48-19.png.
  3. Copy the screenshot from the board to the host PC in the <file-path> directory (for example with the scp command).
 scp root@<ip address>:/wayland-screenshot-*.png <file-path>/

Note: a screenshot capture is also named a snapshot or a screen capture.

2 Recording a screencast

  1. Refer to the table above for the command to be used.
  2. The recorded screencast (WCAP format) is automatically stored in /capture.wcap. The WCAP format is a lossless video format specific to Weston (only the frame differences are recorded).
  3. To play the recorded screencast, convert it to a format that can be interpreted by any video player (e.g. VP8). Three steps are required:
  • On the board, convert the WCAP file into a YUV file using wcap-decode:
 wcap-decode capture.wcap --yuv4mpeg2 > capture.y4m
  • Copy the YUV file from the board to the host PC in the <file-path> directory (for example with the scp command):
 scp root@<ip address>:/capture.y4m <file-path>/
  • On the host PC, transcode the YUV file to any other well-known format (e.g. VP8) using ffmpeg:
 ffmpeg -i capture.y4m -c:v libvpx -b:v 1M capture.webm
  • Optionally, choose a higher bitrate (-b:v 1M means a target bitrate of 1 MBit/s) if a better quality is required. Optionally, use the transpose parameter when a 90 degree clockwise rotation is needed:
 ffmpeg -i capture.y4m -vf transpose=1 -c:v libvpx -b:v 1M capture.webm
Info white.png Information
Note that the YUV file size might be huge if the recording is long (see example below).

Example:

  • On the board: a 5-second screencast is recorded
 wcap-decode capture.wcap --yuv4mpeg2 > capture.y4m
wcap file: size 720x1280, 192 frames
 ls -l capture.*
-rw-r--r-- 1   8246868 Dec 13 14:58 capture.wcap
-rw-r--r-- 1 167821312 Dec 13 14:59 capture.y4m
  • On the host PC
 scp root@<ip address>:/capture.y4m .
 ffmpeg -i capture.y4m -vf transpose=1 -c:v libvpx -b:v 1M capture.webm
 ls -l capture.*
-rw-r--r-- 1    104470 Feb  8 11:01 capture.webm
-rw-r--r-- 1 167821312 Feb  8 10:56 capture.y4m


References list:

IMPORTANT NOTICE – READ CAREFULLY
STMicroelectronics NV and its subsidiaries ("ST") reserve the right to make changes, corrections, enhancements, modifications, and improvements to ST products and/or to this document at any time without notice. Purchasers should obtain the latest relevant information on ST products before placing orders. ST products are sold pursuant to ST’s terms and conditions of sale in place at the time of order acknowledgment.

Purchasers are solely responsible for the choice, selection, and use of ST products and ST assumes no liability for application assistance or the design of purchasers’ products.

No license, express or implied, to any intellectual property right is granted by ST herein.

Resale of ST products with provisions different from the information set forth herein shall void any warranty granted by ST for such product.

ST and the ST logo are trademarks of ST. For additional information about ST trademarks, refer to www.st.com/trademarks. All other product or service names are the property of their respective owners.

Information in this document supersedes and replaces information previously supplied in any prior versions of this document.