Files
LookingGlass/doc/usage.rst
2026-08-11 20:46:46 +10:00

150 lines
4.1 KiB
ReStructuredText

.. _client_usage:
Use the client
##############
Start the client after the Windows guest and IDD are running:
.. code:: bash
looking-glass-client
The client uses LGMP over ``/dev/kvmfr0`` automatically when that device is
available. Otherwise it uses ``/dev/shm/looking-glass``. Select another device
with ``-f`` or the canonical ``lgmp:shmDevice`` option:
.. code:: bash
looking-glass-client -f /dev/kvmfr1
Use ``looking-glass-client --help`` to see the options supported by the
installed build. Command-line options override configuration files.
.. _client_key_bindings:
Default key bindings
--------------------
Looking Glass uses :kbd:`ScrLk` as its escape key by default. Press it by
itself to enter or leave capture mode. Hold it to display the available
commands. Change it with ``input:escapeKey`` or ``-m`` if the keyboard does
not have :kbd:`ScrLk`.
.. list-table:: Default client commands
:widths: 35 65
:header-rows: 1
* - Command
- Action
* - :kbd:`ScrLk`
- Enter or leave capture mode
* - :kbd:`ScrLk` + :kbd:`Q`
- Quit
* - :kbd:`ScrLk` + :kbd:`F`
- Toggle full screen
* - :kbd:`ScrLk` + :kbd:`V`
- Toggle the video stream
* - :kbd:`ScrLk` + :kbd:`R`
- Rotate clockwise by 90 degrees
* - :kbd:`ScrLk` + :kbd:`=`
- Ask the IDD to match the client window resolution
* - :kbd:`ScrLk` + :kbd:`I`
- Toggle guest input
* - :kbd:`ScrLk` + :kbd:`O`
- Enter or leave interactive overlay mode
* - :kbd:`ScrLk` + :kbd:`D`
- Toggle the FPS and UPS widget
* - :kbd:`ScrLk` + :kbd:`T`
- Toggle the frame-timing graphs
* - :kbd:`ScrLk` + :kbd:`N`
- Toggle EGL night vision
* - :kbd:`ScrLk` + :kbd:`E`
- Toggle microphone recording when the audio backend supports it
* - :kbd:`ScrLk` + :kbd:`C`
- Cycle the default microphone permission
* - :kbd:`ScrLk` + :kbd:`M`
- Send mute to the guest
* - :kbd:`ScrLk` + :kbd:`Up` or :kbd:`Down`
- Send volume up or down to the guest
* - :kbd:`ScrLk` + :kbd:`Insert` or :kbd:`Delete`
- Adjust capture-mode mouse sensitivity
* - :kbd:`ScrLk` + :kbd:`LWin` or :kbd:`RWin`
- Send that Windows key to the guest
* - :kbd:`ScrLk` + :kbd:`F1` through :kbd:`F12`
- Send :kbd:`Ctrl` + :kbd:`Alt` + that function key to a Linux guest
The microphone commands are registered only when the client was built with
audio recording support. Night vision is an EGL feature. The virtual-console
bindings are registered only when the selected guest type is Linux.
.. _client_config_options_file:
Configuration files
-------------------
The client loads these files in order when they exist:
* ``/etc/looking-glass-client.ini``
* ``~/.looking-glass-client.ini``
* ``$XDG_CONFIG_HOME/looking-glass/client.ini``
Later files override earlier files. The usual per-user path is
``~/.config/looking-glass/client.ini``. Files use INI syntax:
.. code-block:: ini
[win]
fullScreen=yes
setGuestRes=yes
[input]
autoCapture=yes
[spice]
clipboard=yes
audio=yes
[egl]
preset=my-preset
Boolean values accept ``yes`` or ``no``. Long command-line options use
``section:name=value``, for example:
.. code:: bash
looking-glass-client win:fullScreen=yes input:autoCapture=yes
.. _client_overlay_mode:
.. _client_config_widget:
Interactive overlay
-------------------
Press :kbd:`ScrLk` + :kbd:`O` to make the overlay interactive. Press
:kbd:`Esc` or the same binding to leave it. The overlay can:
* enable and arrange the FPS and timing widgets;
* select and configure EGL filters;
* save filter settings as presets; and
* enable diagnostic views such as damage rectangles.
Widget positions and sizes are stored in
``$XDG_CONFIG_HOME/looking-glass/imgui.ini``. EGL filter presets are stored in
``$XDG_CONFIG_HOME/looking-glass/presets``. Do not edit either while the
client is running.
Runtime changes are not all written to the main client configuration. Put
options that must apply at every start in ``client.ini``.
User guides
-----------
.. toctree::
:maxdepth: 1
input
display
audio
performance
options