Difference between revisions of "Weston keyboard shortcuts"

[quality revision] [quality revision]
m
 

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:
 
Board $> grep binding-modifier /etc/xdg/weston/weston.ini                                             
binding-modifier=ctrl


  • check the <num-workspaces> value:
Board $> 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[edit]

  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).
PC $> 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[edit]

  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:
Board $> 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):
PC $> 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:
PC $> 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:
PC $> ffmpeg -i capture.y4m -vf transpose=1 -c:v libvpx -b:v 1M capture.webm
Info.png 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
Board $> wcap-decode capture.wcap --yuv4mpeg2 > capture.y4m
wcap file: size 720x1280, 192 frames
Board $> 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
PC $> scp root@<ip address>:/capture.y4m .
PC $> ffmpeg -i capture.y4m -vf transpose=1 -c:v libvpx -b:v 1M capture.webm
PC $> 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:

[[Wayland Weston <noinclude>

{{ArticleMainWriter | Jean-ChristopheT}}
{{ReviewersList | PhilippeC , YannickF , VincentA}}  
{{ArticleApprovedVersion | Jean-ChristopheT | PhilippeC, VincentA | No previous approved version | AnneJ - 24Apr'18 - 7108 | 24May18}}

[[Category:Wayland Weston]]</noinclude>


[[Wayland Weston overview|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''<ref>https://cgit.freedesktop.org/wayland/weston/tree/desktop-shell/shell.c Weston Wayland Compositor official git</ref> 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:
  {{Board$}} grep binding-modifier /etc/xdg/weston/weston.ini                                             
 binding-modifier={{Highlight|ctrl}}

* check the <num-workspaces> value:
 {{Board$}} grep num-workspaces /etc/xdg/weston/weston.ini                                             
 num-workspaces={{Highlight|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> + F'''n''' || 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.

==Capturing a screenshot==
# Refer to the table above for the command to be used.
# The captured picture (PNG format) is automatically stored in ''/wayland-screenshot-2018-01-06_01-48-19.png''.
# Copy the screenshot from the board to the host PC in the <file-path> directory (for example with the ''scp'' command).
 {{PC$}} scp root@<ip address>:/wayland-screenshot-*.png <file-path>/
Note: a screenshot capture is also named a snapshot or a screen capture.

==Recording a screencast==
# Refer to the table above for the command to be used.
# 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).
# 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'':
 {{Board$}} 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):
 {{PC$}} 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'':
 {{PC$}} 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:
 {{PC$}} ffmpeg -i capture.y4m -vf transpose=1 -c:v libvpx -b:v 1M capture.webm

{{Info| 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
 {{Board$}} wcap-decode capture.wcap --yuv4mpeg2 > capture.y4m
 wcap file: size 720x1280, 192 frames
 {{Board$}} ls -l capture.*
 -rw-r--r-- 1   8246868 Dec 13 14:58 capture.wcap
 -rw-r--r-- 1 {{Highlight|167821312}} Dec 13 14:59 capture.y4m
* On the host PC
 {{PC$}} scp root@<ip address>:/capture.y4m .
 {{PC$}} ffmpeg -i capture.y4m -vf transpose=1 -c:v libvpx -b:v 1M capture.webm
 {{PC$}} ls -l capture.*
 -rw-r--r-- 1    {{Highlight|104470}} Feb  8 11:01 capture.webm
 -rw-r--r-- 1 167821312 Feb  8 10:56 capture.y4m

References list:<references />

<noinclude>

{{PublicationRequestId| 7108 | 2018-04-24 | AnneJ}}
[[Category:Wayland Weston]]</noinclude>
Line 1: Line 1:
<noinclude>
 
{{ArticleMainWriter | Jean-ChristopheT}}
 
{{ReviewersList | PhilippeC , YannickF , VincentA}} 
 
{{ArticleApprovedVersion | Jean-ChristopheT | PhilippeC, VincentA | No previous approved version | AnneJ - 24Apr'18 - 7108 | 24May18}}
 
 
[[Category:Wayland Weston]]
 
</noinclude>
 
 
 
[[Wayland Weston overview|Weston]] is the reference implementation of a Wayland compositor.
 
[[Wayland Weston overview|Weston]] is the reference implementation of a Wayland compositor.
   
Line 109: Line 101:
 
References list:
 
References list:
 
<references />
 
<references />
  +
  +
<noinclude>
  +
{{PublicationRequestId| 7108 | 2018-04-24 | AnneJ}}
  +
[[Category:Wayland Weston]]
  +
</noinclude>

Attachments

Discussions