diff --git a/documentation/content/en/books/accessibility/blindness/_index.adoc b/documentation/content/en/books/accessibility/blindness/_index.adoc index 020adbef74..1ff0beeb44 100644 --- a/documentation/content/en/books/accessibility/blindness/_index.adoc +++ b/documentation/content/en/books/accessibility/blindness/_index.adoc @@ -1,320 +1,321 @@ --- title: Chapter 5. Blindness part: Part II. Vision prev: books/accessibility/lowvision next: books/accessibility/development description: Assistive technologies for blindness tags: ["Accessibility", "Blindness", "Screen Reader"] showBookMenu: true weight: 8 params: path: "/books/accessibility/blindness/" --- [[blindness]] = Blindness :doctype: book :toc: macro :toclevels: 1 :icons: font :sectnums: :sectnumlevels: 6 :sectnumoffset: 5 :partnums: :source-highlighter: rouge :experimental: :images-path: books/accessibility/blindness/ ifdef::env-beastie[] ifdef::backend-html5[] :imagesdir: ../../../../images/{images-path} endif::[] ifndef::book[] include::shared/authors.adoc[] include::shared/mirrors.adoc[] include::shared/releases.adoc[] include::shared/attributes/attributes-{{% lang %}}.adoc[] include::shared/{{% lang %}}/teams.adoc[] include::shared/{{% lang %}}/mailing-lists.adoc[] include::shared/{{% lang %}}/urls.adoc[] toc::[] endif::[] ifdef::backend-pdf,backend-epub3[] include::../../../../../shared/asciidoctor.adoc[] endif::[] endif::[] ifndef::env-beastie[] toc::[] include::../../../../../shared/asciidoctor.adoc[] endif::[] [[blindness-intro]] == Introduction This chapter describes assistive technologies for users who are blind, focusing primarily on screen readers and tools designed to work in conjunction with them. The chapter deliberately contains no images and aims to minimize the use of elements other than plain text. [[screen-reader]] == Screen Reader Currently, screen readers function only within the extref:{handbook}x11[X Window System] and are not supported in the crossref:virtual-terminal[virtual-terminal,Virtual Terminal]. FreeBSD does not currently support Braille displays, so they rely exclusively on speech synthesizers. [[orca]] === Orca Orca is a widely used and well-known open source screen reader. It offers a comprehensive set of features and is available on FreeBSD through the package:accessibility/orca[] package. [[orca-install]] ==== Installation To install it, execute: [source,shell] .... # pkg install orca .... [[orca-launch]] ==== Launch Orca can be launched in several ways. From a terminal, type: [source,shell] .... % orca .... -Some desktop environments provide a keyboard shortcut to launch Orca: - -- XFCE: `Super` + `Alt` + `s` -- GNOME `Super` + `Alt` + `S` +Some desktop environments +(extref:{handbook}desktop/#kde-environment[KDE Plasma], +extref:{handbook}desktop/#xfce-environment[XFCE], +extref:{handbook}desktop/#gnome-environment[GNOME]) +provide a keyboard shortcut to launch Orca: `Super` + `Alt` + `s`. [TIP] ==== The Super key is usually labeled as Windows icon, Command icon, or "Super". Refer to https://en.wikipedia.org/wiki/Super_key_(keyboard_button) for more information. ==== [[orca-usage]] ==== Usage Orca provides a manual page: man:orca[1]. However, most of the documentation is available online. The main reference is the starting point in the https://gnome.pages.gitlab.gnome.org/orca/help/[Orca Users Guide], which includes: - Getting Started - Reading Documents and Web Pages - Reviewing and Interacting with Screen Contents The screen reader includes many keyboard commands for navigation and interaction. Refer to the https://gnome.pages.gitlab.gnome.org/orca/help/commands.html[Orca's Commands] page for a full list. [[orca-config]] ==== Configuration Orca can be configured through a graphical settings interface. To open it, run: [source,shell] .... % orca -s .... Configuration options are documented on the https://gnome.pages.gitlab.gnome.org/orca/help/preferences.html[Orca's Preferences Dialogs] page. [[yasr]] === yasr The package:accessibility/yasr[] utility is a lightweight screen reader that operates exclusively in a terminal environment. Yasr requires a speech synthesizer to work. Its default configuration file is set up to use package:accessibility/eflite[]. To install both yasr and eflite, run: [source,shell] .... # pkg install yasr eflite .... To start the screen reader, execute: [source,shell] .... % yasr .... The global configuration file for yasr is located at [.filename]#/usr/local/share/yasr/yasr.conf#. To create a user-specific configuration file, copy the global one to your home directory: [source,shell] .... % cp /usr/local/share/yasr/yasr.conf ~/.yasr.conf .... For details on configuration options and keyboard shortcuts, refer to man:yasr[1]. [[blindness-ports]] == Ports Collection FreeBSD provides the extref:{handbook}ports[Ports Collection], which offers a simple way to install applications. Some ports allow you to configure options before building and installation. By default, configuration is handled through a TUI menu not accessible by a screen reader. The package:ports-mgmt/portoptscli[] utility is a text-only tool specifically designed to configure ports using a screen reader. To install it, run: [source,shell] .... # pkg install portoptscli .... Then add to [.filename]#/etc/make.conf#: [.programlisting] .... DIALOG4PORTS=/usr/local/bin/portoptscli .... From now on, the Ports framework will automatically invoke portoptscli whenever a port offers configurable options. For detailed information about its features and usage, refer to the manual page man:portoptscli[1] and consult the online https://gitlab.com/alfix/portoptscli/-/raw/main/README.txt[README]. [[blindness-editor]] == Editor [[ed]] === ed The man:ed[1] utility is a line-oriented text editor used to create, view, and modify text files. It is included by default in a standard FreeBSD installation. To start the editor, run: [source,shell] .... % ed .... ed is a powerful editor. Refer to its manual page man:ed[1] for a complete overview of its features and command syntax. [WARNING] ==== ed does not support multibyte characters and may not handle non-ASCII text correctly. Alternatively, consider using crossref:blindness[edbrowse,edbrowse], which offers robust text editing features in addition to its browsing capabilities. ==== [[blindness-internet-web]] == Internet and WEB [[edbrowse]] === Edbrowse Edbrowse is a text-based browser, editor, IRC chat client, and mail client, specifically designed for screen reader users. Its interface is similar to man:ed[1], but with extended functionality. [[edbrowse-install]] ==== Installation To install package:www/edbrowse[], execute: [source,shell] .... # pkg install edbrowse .... [[edbrowse-usage]] ==== Usage To launch Edbrowse, run: [source,shell] .... % edbrowse .... The first time you run edbrowse, it will not find the configuration file [.filename]#~/.ebrc#. It will automatically create a default configuration file, display a message, and exit: [source,shell] .... % edbrowse Your edbrowse config file is missing; a default file has been created for you. Before running edbrowse again, take the time to personalize your config file: /home/yournickname/.ebrc edbrowse -c to edit % .... You can now relaunch Edbrowse; it will use the default configuration file. To customize it, either run: [source,shell] .... % edbrowse -c .... Or use your preferred text editor, for example: [source,shell] .... % ed ~/.ebrc .... [TIP] ==== Example configuration files are provided in [.filename]#/usr/local/share/doc/edbrowse/#. These include: - sample.ebrc: with comments in English - sample_fr.ebrc: with comments in French - sample_it.ebrc: with comments in Italian ==== [[edbrowse-doc]] ==== Documentation The utility provides a manual page: man:edbrowse[1]. However, the main documentation is available online in the https://edbrowse.org/usersguide.html[User's Guide]. The package also installs a local copy of the documentation at [.filename]#/usr/local/share/doc/edbrowse/usersguide.html#. To view it using edbrowse, run: [source,shell] .... % edbrowse /usr/local/share/doc/edbrowse/usersguide.html .... Translated versions of the user guide are available in the same directory: - usersguide_es.html: Spanish - usersguide_fr.html: French - usersguide_pt_br.html: Brazilian Portuguese [[blindness-liblouis]] == Liblouis package:devel/liblouis[] is a translator for many languages to and from Braille. It provides a large number of conversion tables. To install, execute: [source,shell] .... # pkg install liblouis .... The package installs both libraries and utilities. The translation utility is man:lou_translate[1]. The following example demonstrates how to transcribe the text `FreeBSD Accessibility Handbook` into Braille with English Grade 2 translation table and the unicode.dis display table. The final output is Braille encoded as Unicode dot patterns. [source,shell] .... % echo "FreeBSD Accessibility Handbook" | lou_translate -f unicode.dis,en-us-g2.ctb ⠠⠋⠗⠑⠑⠠⠠⠃⠎⠙⠀⠠⠁⠒⠑⠎⠎⠊⠃⠊⠇⠰⠽⠀⠠⠓⠯⠃⠕⠕⠅ .... Documentation and additional examples for this utility are available on the project website, specifically in the https://liblouis.io/documentation/liblouis.html#Testing-Translation-Tables-interactively[Testing Translation Tables interactively] section of the official documentation. diff --git a/documentation/content/en/books/accessibility/colors/_index.adoc b/documentation/content/en/books/accessibility/colors/_index.adoc index f3cda2106c..2f9ef57333 100644 --- a/documentation/content/en/books/accessibility/colors/_index.adoc +++ b/documentation/content/en/books/accessibility/colors/_index.adoc @@ -1,608 +1,677 @@ --- title: Chapter 3. Colors part: Part II. Vision prev: books/accessibility/virtual-terminal next: books/accessibility/lowvision description: Features to set up colors tags: ["Accessibility", "High contrast", "Color blindness", "Theming"] showBookMenu: true weight: 6 params: path: "/books/accessibility/colors/" --- [[colors]] = High Contrast :doctype: book :toc: macro :toclevels: 1 :icons: font :sectnums: :sectnumlevels: 6 :sectnumoffset: 3 :partnums: :source-highlighter: rouge :experimental: :images-path: books/accessibility/colors/ ifdef::env-beastie[] ifdef::backend-html5[] :imagesdir: ../../../../images/{images-path} endif::[] ifndef::book[] include::shared/authors.adoc[] include::shared/mirrors.adoc[] include::shared/releases.adoc[] include::shared/attributes/attributes-{{% lang %}}.adoc[] include::shared/{{% lang %}}/teams.adoc[] include::shared/{{% lang %}}/mailing-lists.adoc[] include::shared/{{% lang %}}/urls.adoc[] toc::[] endif::[] ifdef::backend-pdf,backend-epub3[] include::../../../../../shared/asciidoctor.adoc[] endif::[] endif::[] ifndef::env-beastie[] toc::[] include::../../../../../shared/asciidoctor.adoc[] endif::[] [[colors-intro]] == Introduction This chapter explains how to configure colors for on-screen elements, including: - Setting high-contrast color schemes in graphical environments. - Adapting screen color temperature for optimal viewing in daylight and nighttime conditions. - Selecting colors for configuration ports menus. [[high-contrast-theme]] == High Contrast Theme Graphical Environments allow you to easily install and set up graphical themes. This paragraph describes how to configure high contrast themes for windows. +[[kde-high-contrast]] +=== KDE Plasma + +Launch the `Global Theme` module: + +[source,shell] +.... +% kcmshell6 kcm_lookandfeel +.... + +The window shows the current installed themes. +Click on the "Get New..." icon in the top right corner. +A new window will show additional themes available for installation. +In the search field at the top right, you can look for new themes to install. +You can search for "high contrast" or "Acrilic Dark". + [[xfce-high-contrast]] === XFCE Download from https://www.xfce-look.org/p/2289345[High Contrast Windows 11 Themes]: - _Adwaita-Dusk.tar.bz2_ - _Adwaita-Desert.tar.bz2_ - _Adwaita-Aquatic.tar.bz2_ - _Adwaita-NightSky.tar.bz2_ The example is for _NightSky_, but of course you can choose whichever theme you prefer. [source,shell] .... % tar xzvf Adwaita-NightSky.tar.bz2 <1> % mkdir ~/.themes <2> % cp -a Adwaita-NightSky ~/.themes/ <3> % rm Adwaita-NightSky.tar.bz2 <4> % xfconf-query -c xfwm4 -p /general/theme -s 'Adwaita-NightSky' <5> % xfconf-query -c xsettings -p /Net/ThemeName -s 'Adwaita-NightSky' <6> .... <.> Extract the downloaded theme archive. <.> Create the [.filename]#~/.themes# directory if it does not already exist. <.> Copy the extracted themes into [.filename]#~/.themes#. <.> Optionally, delete the original compressed file to save space. <.> Apply the Adwaita-NightSky theme for the XFCE desktop environment. <.> Apply the Adwaita-NightSky theme for GTK applications. The theme selection steps (5 and 6) can also be performed using the graphical configuration dialogs in XFCE: [source,shell] .... % xfwm4-settings % xfce4-appearance-settings .... [[high-contrast-icon]] == High Contrast Icons Graphical Environments allow you to easily install and set up icon themes. This paragraph describes how to configure high contrast icons. +[[kde-icon-high-contrast]] +=== KDE Plasma + +Open the `_Icons_` module: + +[source,shell] +.... +% kcmshell6 kcm_icons +.... + +The window displays the currently installed icon themes. +To install a new theme, click the `_Get New..._` icon in the top right corner. +A new window will appear, allowing you to browse and install additional icon themes. +As a suggestion, you can search for `Treepata` using the search bar at the top right. +Although originally designed for XFCE and later adapted for KDE Plasma, Treepata was created as a high-contrast accessibility theme. + [[xfce-icon-high-contrast]] === XFCE Run the following commands to use the _Treepata - High Contrast_ icons theme with XFCE. Download _Treepata.zip_ from https://www.xfce-look.org/p/1015854[Treepata - High contrast]. Then execute: [source,shell] .... # pkg search zip <1> % unzip Treepata.zip <2> % mkdir ~/.icons <3> % cp -a Treepata ~/.icons/ <4> % rm Treepata.zip <5> % xfconf-query -c xsettings -p /Net/IconThemeName -s Treepata <6> .... <.> Install the package package:archivers/zip[]: <.> Extract the downloaded archive file. <.> Create the [.filename]#~/.icons# directory if it does not already exist. <.> Copy the extracted theme into [.filename]#~/.icons#. <.> Optionally, delete the downloaded archive file to free up space. <.> Set the _Treepata_ icon theme. The icon theme (step 6 above) can also be set graphically via the `_Appearance_` dialog under the `_Icons_` tab. To do so, open the dialog and select your preferred icon theme: [source,shell] .... % xfce4-appearance-settings .... [NOTE] ==== If you have icon theme problems, install package:misc/hicolor-icon-theme[] and package:graphics/gtk-update-icon-cache[]: [source,shell] .... # pkg install hicolor-icon-theme gtk-update-icon-cache .... Run man:gtk-update-icon-cache[1] to create or update the icon cache: [source,shell] .... % gtk-update-icon-cache -f -t ~/.icons/treepata .... ==== [[colors-temperature]] == Color temperature This paragraph explains various utilities that adjust screen colors based on temperature, day/night cycles, and gamma settings. These utilities enable both interactive color adjustments and automatic changes based on the local time and geographical location. Some utilities are compatible with the extref:{handbook}x11[X Window System], others support extref:{handbook}wayland[Wayland], and some work on both display servers. .Color Temperature Utilities [options="header", cols="1,1,1,1"] |=== | Name | Auto Update | Environment | Package | darkman | Yes | X11 | package:accessibility/darkman[] | gammastep | Yes | X11 | package:accessibility/gammastep[] +| Night Light +| Yes +| extref:{handbook}desktop/#kde-environment[KDE Plasma] +| package:x11/kde[] + | redshift | Yes | X11, Wayland | package:accessibility/redshift[] | sct | No | X11 | package:accessibility/sct[] | sctd | Yes | X11 | package:accessibility/sctd[] | wlsunset | Yes | Wayland | package:accessibility/wlsunset[] |=== The rest of this section details the steps to install, configure, and launch the utilities. [[colors-darkman]] === darkman man:darkman[1] is a daemon that automatically manages transitions between dark mode and light mode. It operates primarily in the background, switching the screen's color scheme based on the local time of the current location. To install, run: [source,shell] .... # pkg install darkman .... Create the file [.filename]#~/.config/darkman/config.yaml# and write your latitude and longitude. Example: [.programlisting] .... lat: 37.52 lng: 122.16 .... The utility does not directly change the screen colors; instead, it calls external utilities to perform the color transitions. Add scripts to be executed at sundown by placing them in [.filename]#$XDG_DATA_DIRS/dark-mode.d/# and scripts to be executed at sunrise by placing them in [.filename]#XDG_DATA_DIRS/light-mode.d/#. Several https://gitlab.com/WhyNotHugo/darkman/-/tree/main/examples[example scripts] are available in the project repository. To start darkman manually, run: [source,shell] .... % darkman run & .... The utility also offers some interactive options; for more details refer to the man:darkman[1] manual page. [[gammastep]] === gammastep The man:gammastep[1] utility adjusts your screen’s color temperature automatically based on your location. To install, run: [source,shell] .... # pkg install gammastep .... The utility works out of the box without any configuration. Simply start it by running: [source,shell] .... % gammastep & .... [NOTE] ==== If you encounter any issues, customize the configuration by adapting the link:https://gitlab.com/chinstrap/gammastep/-/blob/master/gammastep.conf.sample[gammastep.conf.sample] file and save it as [.filename]#~/.config/gammastep/conf.ini#. Refer to the link:https://gitlab.com/chinstrap/gammastep/-/blob/master/README.md[README] for troubleshooting. ==== +[[kde-nightlight]] +=== KDE Plasma + +KDE allows you to adjust the screen color temperature based on geographic location and local time. +Launch the `_Night Light_` module: + +[source,shell] +.... +% kcmshell6 kcm_nightlight +.... + +Enable automatic color adjustment by selecting the desired option from the `_Switching times_` drop-down menu. + [[redshift]] === redshift The man:redshift[1] utility find your position and sets the color temperature accordingly. To install, execute: [source,shell] .... # pkg install redshift .... The redshift utility runs without any configuration. To start it, simply execute: [source,shell] .... % redshift & .... The utility might hang while trying to determine the location or the correct method to set the color. In this case, specify them explicitly using `-l _latitude:longitude_` and `-m _method_`. The available methods can be listed by running: `% redshift -m list`. Example of running redshift with an explicit location and method: [source,shell] .... % redshift -l 37.86:-122.27 -m randr & .... To make this setting permanent, add the following lines to [.filename]#~/.config/redshift/redshift.conf# file: [.programlisting] .... [redshift] adjustment-method=randr location-provider=manual [manual] lat=37.86 lon=-122.27 .... [NOTE] ==== The project provides a default https://github.com/jonls/redshift/blob/master/redshift.conf.sample[redshift.conf.sample] configuration file. For troubleshooting and additional information, please refer to the https://github.com/jonls/redshift/blob/master/README.md[README]. ==== [[sct]] === sct The man:sct[1] utility is a simple command-line tool for controlling screen color temperature. It does not update automatically and must be run repeatedly to adjust the temperature over time. To install, execute: [source,shell] .... # pkg install sct .... The utility takes temperature values between 1000 and 10000, 6500 is the default. To run sct, type: `sct _value_`: [source,shell] .... % sct 8000 .... [TIP] ==== The utility suggests 3 styles: 1) Campfire style [source,shell] .... % sct 4500 .... 2) Dust storm on Mars style [source,shell] .... % sct 2000 .... 3) Coffee free all nighter style [source,shell] .... % sct 8000 .... ==== [[sctd]] === sctd The sctd utility calculates sunrise and sunset times based on latitude and longitude, and adjusts the screen's color temperature accordingly. To install, run: [source,shell] .... # pkg install sctd .... To run sctd, specify your location using the `--latitude` and `--longitude` options: [source,shell] .... % sctd --latitude 40.55 --longitude 14.34 & .... To reset the screen color to default, run: [source,shell] .... % sctd --reset .... [[wlsunset]] === wlsunset The man:wlsunset[1] utility is a Day/Night gamma adjustments for Wayland compositors. To install, execute: [source,shell] .... # pkg install wlsunset .... To start the utility type `wlsunset -l _latitude_ -L _longitude_`. Example: [source,shell] .... % wlsunset -l 14.34 -L 40.55 & .... [[colors-ports]] == Ports Collection FreeBSD provides the extref:{handbook}ports[Ports Collection], which offers a simple way to install applications. Some ports allow you to configure options before building and installation. By default, configuration is handled through a TUI menu built by the package:ports-mgmt/portconfig[]. The colors can be customized in several ways: . Terminal color capabilities. . The $NO_COLOR environment variable. . The $PORTCONFIG_THEMEFILE environment variable. . The global [.filename]#/usr/local/etc/portconfig/theme.conf# file. [NOTE] ==== These methods are listed in order of decreasing priority and are mutually exclusive, meaning only one can be active at a time. ==== *1. Terminal Colors* man:portconfig[1] automatically detects whether the terminal supports colors. If not, it defaults to a black-and-white theme. *2. NO_COLOR* If the `$NO_COLOR` environment variable is set and not empty, portconfig forces the black-and-white theme .Example persistent setting `$NO_COLOR` [example] ==== [.filename]#/etc/make.conf# [.programlisting] .... export NO_COLOR=YES .... ==== *3. PORTCONFIG_THEMEFILE* If the `$PORTCONFIG_THEMEFILE` environment variable is set and points to a valid theme file, it will be used. Otherwise, the default theme is applied. ..Example persistent setting `$PORTCONFIG_THEMEFILE` [example] ==== [.filename]#/etc/make.conf# [.programlisting] .... export PORTCONFIG_THEMEFILE=/home/foo/mytheme.conf .... ==== [TIP] ==== To create a new theme file, run: [source,shell] .... % /usr/local/bin/bsddialog --save-theme mytheme.conf --infobox "Saving theme..." 0 0 .... ==== *4. Global theme.conf* If the file [.filename]#/usr/local/etc/portconfig/theme.conf# exists and is valid, it will be used. If not, the default theme is applied. [TIP] ==== Sample themes are included in [.filename]#/usr/local/etc/portconfig/#: - blackwhite.conf - default.conf - red-green.conf - yellow-blue.conf To use the yellow-blue.conf theme: [source,shell] .... # ln -s /usr/local/etc/portconfig/yellow-blue.conf /usr/local/etc/portconfig/theme.conf .... ==== [[brightness]] == Brightness Screen brightness can be adjusted in various ways. The available methods depend heavily on the hardware, so it's recommended to try the features described in the following sections. [[backlight]] === backlight The man:backlight[8] utility is included with the operating system. It is used to set the brightness of devices located under [.filename]#/dev/backlight/#. The command `backlight -f _device_ _value_` sets the brightness of _device_ to _value_, where _value_ is an integer between 0 (dim) and 100 (bright). If no device is specified, the default device [.filename]#/dev/backlight/backlight0# is considered. Example for setting the brightness of the default device to 50%: [source,shell] .... % backlight 50 .... [NOTE] ==== Unless the user belongs to the "video" group, the command needs to run as root. ==== [[acpi_video]] === acpi_video The man:acpi_video[4] driver, included with the operating system, uses the ACPI Video Extensions to control display switching and backlight brightness. To load the kernel module, run: [source,shell] .... # kldload acpi_video .... Brightness settings can be configured using extref:{handbook}config/#configtuning-sysctl[sysctl(8)]. The following parameters are available: - hw.acpi.video._device_.levels: List of supported brightness levels. - hw.acpi.video._device_.brightness: Current brightness level of the device. _device_ is a possible display device. Example to set the brightness to 50% for the lcd0 device: [source,shell] .... % sysctl hw.acpi.video.lcd0.brightness <1> hw.acpi.video.lcd0.brightness: 90 % sysctl hw.acpi.video.lcd0.levels <2> hw.acpi.video.lcd0.levels: 90 60 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 100 # sysctl hw.acpi.video.lcd0.brightness=50 <3> hw.acpi.video.lcd0.brightness: 90 -> 50 .... <.> `sysctl hw.acpi.video._device_.brightness` to view the current brightness level. <.> `sysctl hw.acpi.video._device_.levels` to view the available levels. <.> `sysctl hw.acpi.video._device_.brightness=50` to set the brightness to 50. [NOTE] ==== man:acpi_video[4] should be loaded after any of the extref:{handbook}x11/#x-graphic-card-drivers[DRM] kernel modules. ==== [[xbrightness]] === xbrightness The package:x11/xbrightness[] utility can change the brightness via the extref:{handbook}x11[X Window System]. [source,shell] .... # pkg install xbrightness .... The man:xbrightness[1] utility allows to set a value between 0 (darkness) and 65535 (full brightness). Example for setting brightness to 50%: [source,shell] .... % xbrightness 32767 .... [[xrandr]] === xrandr The package:x11/xrandr[] package is an extension of the X11 server that provides the man:xrandr[1] utility. It allows you to configure various display properties, including brightness. To install execute: [source,shell] .... # pkg install xrandr .... The command `xrandr --output _monitor_ --brightness _brightness_` allows you to set the brightness for monitor to a value between 0 and 1.0. To list the available monitors, run: [source,shell] .... % xrandr --listmonitors Monitors: 2 0: +HDMI-1 1920/598x1080/337+0+0 HDMI-1 1: +eDP-1 1920/344x1080/194+1920+0 eDP-1 .... Example for setting brightness to 50% for HDMI-1: [source,shell] .... % xrandr --output HDMI-1 --brightness 0.5 .... + +[[colorblindness]] +== Color Blindness + +This section describes how to use utilities designed for color blindness. + +[[kde-colorblindness]] +=== KDE Plasma + +KDE allows you to filter colors for graphical elements. +Launch the `_Accessibility_` module: + +[source,shell] +.... +% kcmshell6 kcm_access +.... + +In the navigation pane, select `_Color Blindness Correction_`. +Enable the `_Color blindness correction_` option, then choose the appropriate color transformation mode from the `_Mode_` drop-down menu. diff --git a/documentation/content/en/books/accessibility/lowvision/_index.adoc b/documentation/content/en/books/accessibility/lowvision/_index.adoc index 4b71057c0e..7424045052 100644 --- a/documentation/content/en/books/accessibility/lowvision/_index.adoc +++ b/documentation/content/en/books/accessibility/lowvision/_index.adoc @@ -1,393 +1,464 @@ --- title: Chapter 4. Low Vision part: Part II. Vision prev: books/accessibility/colors next: books/accessibility/blindness description: Assistive technologies for low vision tags: ["Accessibility", "Low Vision", "Magnify", "Desktop"] showBookMenu: true weight: 7 params: path: "/books/accessibility/lowvision/" --- [[lowvision]] = Low Vision :doctype: book :toc: macro :toclevels: 1 :icons: font :sectnums: :sectnumlevels: 6 :sectnumoffset: 4 :partnums: :source-highlighter: rouge :experimental: :images-path: books/accessibility/lowvision/ ifdef::env-beastie[] ifdef::backend-html5[] :imagesdir: ../../../../images/{images-path} endif::[] ifndef::book[] include::shared/authors.adoc[] include::shared/mirrors.adoc[] include::shared/releases.adoc[] include::shared/attributes/attributes-{{% lang %}}.adoc[] include::shared/{{% lang %}}/teams.adoc[] include::shared/{{% lang %}}/mailing-lists.adoc[] include::shared/{{% lang %}}/urls.adoc[] toc::[] endif::[] ifdef::backend-pdf,backend-epub3[] include::../../../../../shared/asciidoctor.adoc[] endif::[] endif::[] ifndef::env-beastie[] toc::[] include::../../../../../shared/asciidoctor.adoc[] endif::[] [[lowvisin-intro]] == Introduction This chapter outlines accessibility features available in graphical desktop environments designed for users with low vision, such as virtual magnifiers, easy-to-read fonts, and screen scaling. [[hidpi]] == Desktop Size Graphical environments allow users to adjust the desktop display size, a feature commonly known as screen scaling or HiDPI scaling. The goal is to enlarge desktop elements such as icons, text, and windows to improve visibility and accessibility. +[[kde-hidpi]] +=== KDE Plasma + +Open the `_Display Configuration_` module: + +[source,shell] +.... +% kcmshell6 kcm_kscreen +.... + +Select the scaling via the `_Global Scale_` bar. +The change will take effect after a KDE Plasma restart. + [[xfce-hidpi]] === XFCE To set a custom scaling factor, for example 4, run the following command: [source,shell] .... % xfconf-query -c xsettings -p /Gdk/WindowScalingFactor -s 4 .... Alternatively, HiDPI scaling can be enabled with a fixed 2x factor using the graphical interface. This option is available in the `_Appearance_` dialog, under the `_Settings_` tab as `_Window Scaling_`. To open the `_Appearance_` dialog, execute: [source,shell] .... % xfce4-appearance-settings .... [[lowvision-font]] == Font The package:x11-fonts/atkinson-hyperlegible[] provides the _atkinson-hyperlegible_ font. It is designed for good readability, the letter shapes aim to increase character recognition. To install, execute: [source,shell] .... # pkg install atkinson-hyperlegible .... The remainder of this section describes how to set up fonts in various graphical environments using _atkinson-hyperlegible_ as an example. +[[kde-fonts]] +=== KDE Plasma + +KDE allows selecting a font and its size via the `_Fonts_` module. +Run: + +[source,shell] +.... +% kcmshell6 kcm_fonts +.... + +Click on the Adjust `_All Fonts..._` button to select the font and its size for all graphical elements. +Alternatively, you can choose the font and size for individual elements using the forms below. + +At the bottom of the window, you can also select options such as `_Anti-Aliasing_`, `_Sub-pixel Rendering_`, `_Hinting_`, and `_Force Font DPI_`. +Each option has an icon on the right to open a help dialog. + [[xfce-fonts]] === XFCE XFCE allows you to select the font and size for window titles and content text, as well as the font size for icon labels. [source,shell] .... % xfconf-query -c xfwm4 -p /general/title_font -s "Atkinson Hyperlegible 15" <1> % xfconf-query -c xsettings -p /Gtk/FontName -s "Atkinson Hyperlegible 15" <2> % xfconf-query -c xsettings -p /Gtk/MonospaceFontName -s "Atkinson Hyperlegible 15" <3> % xfconf-query -c xfce4-desktop -p /desktop-icons/use-custom-font-size -s true <4> % xfconf-query -c xfce4-desktop -p /desktop-icons/font-size -s 15.0 <5> .... <.> Set the window title font to _Atkinson Hyperlegible_, size 15. <.> Set the window content font to _Atkinson Hyperlegible_, size 15. <.> Set the monospace font within windows to _Atkinson Hyperlegible_, size 15. <.> Enable custom font sizing for icons. <.> Set the icon font size to 15.0. Alternatively, you can configure the same settings using the graphical XFCE configuration dialogs. To select the font for window titles, open the `_Window Manager_` dialog: [source,shell] .... % xfwm4-settings .... To choose the font used inside windows, open the `_Appearance_` dialog and go to the `_Fonts_` tab: [source,shell] .... % xfce4-appearance-settings .... [TIP] ==== In the Fonts tab, you can also adjust options such as `_anti-aliasing_`, `_Hinting_`, `_Sub-pixel order_`, and `_Custom DPI_`. For more details, see the https://docs.xfce.org/xfce/xfce4-settings/appearance#fonts[XFCE documentation]. ==== To set the font size for icons, open the `_Desktop_` dialog and go to the `_Desktop Icons_` tab where you can adjust the icon font size: [source,shell] .... % xfdesktop-settings .... [[magnify]] == Magnify This section describes various utilities that magnify portions of the screen, acting as virtual magnifying lenses. Some tools continuously enlarge the area beneath the mouse cursor, while others do not. Certain utilities automatically move the magnified window to follow the cursor, whereas others keep it fixed in place. .Screen magnifier utilities. [options="header", cols="1,1,1,1"] |=== | Name | Auto Update | Auto Move Lens | Package | lupe | Yes | No | package:x11/lupe[] | kmag | Yes | No | package:accessibility/kmag[] | xlupe | Yes | No | package:x11/xlupe[] | xmag | No | No | package:x11/xmag[] | xzoom | No | No | package:x11/xzoom[] |=== The rest of this section details the steps to install, configure, and launch the utilities. [[lupe]] === lupe The man:lupe[1] utility is a screen magnifier for the X Window System that updates the magnified area in real time. To install it, run: [source,shell] .... # pkg install lupe .... By default, lupe magnifies the screen content beneath the mouse pointer within a circular area (25×25 pixels) displayed at the center of the screen. To start lupe, run: [source,shell] .... % lupe .... To exit lupe, press the `q` key. [TIP] ==== Start lupe with the `-noshape` option to display the magnified area in a separate, movable window. Without this option, the magnifier is locked to the center of the screen. ==== [[kmag]] === kmag The man:kmag[1] utility provides a screen magnifier that displays a zoomed view of the area under the mouse cursor in a dedicated window. The magnifier window includes a menu with various options and settings for customization. To install kmag, run: [source,shell] .... # pkg install kmag .... To launch kmag, execute: [source,shell] .... % kmag .... [[xlupe]] === xlupe The package:x11/xlupe[] utility is a screen magnifier for the X Window System that updates the magnified view in real time. To install it, run: [source,shell] .... # pkg install xlupe .... To launch xlupe, execute: [source,shell] .... % xlupe .... The utility does not include a manual page, but it starts in a graphical window with buttons that allow you to configure its options interactively. [[xmag]] === xmag The man:xmag[1] utility is a basic screen magnifier for the X Window System. Unlike other magnifiers, it does not update the magnified area in real time. To install it, run: To install, execute: [source,shell] .... # pkg install xmag .... To launch xmag, execute: [source,shell] .... % mag .... [NOTE] ==== xmag does not display a magnified area immediately upon launch. Click anywhere on the screen with the left mouse button to select a region, and xmag will open a window showing a magnified view of that area. The application window includes a few buttons offering limited functionality. ==== [[xzoom]] === xzoom The man:xzoom[1] utility is a screen magnifier for the X Window System that updates the magnified view in real time. To install it, run: [source,shell] .... # pkg install xzoom .... To launch xzoom, execute: [source,shell] .... % xzoom .... [NOTE] ==== Unlike other magnifiers, xzoom does not automatically follow the mouse cursor or magnify the area beneath it in its own window. Interaction is keyboard-driven, refer to man:xzoom[1] for available commands and usage details. ==== [[lowvision-mouse]] == Mouse [[mouse-apparance]] === Apparance Some desktop environments allow you to change the size, color, and other graphical properties of the mouse cursor. +[[kde-mouse]] +==== KDE Plasma + +KDE Plasma provides the `_Cursors_` module to select the mouse cursor theme and size. +To launch it, run: + +[source,shell] +.... +% kcmshell6 kcm_cursortheme +.... + +Select an installed cursor theme in the window. +There is a `_Size_` drop-down menu in the top left corner to choose the mouse cursor size, +available sizes depend on the selected theme. + +Click the `_Get New..._` icon in the top right corner to install a new theme. +You can install new themes from the new window. +As a suggestion, search for `_Large Mouse Cursors_`, a black and white high contrast theme. + [[xfce-mouse]] ==== XFCE XFCE allows you to set the size and color of the mouse pointer via `_Mouse and Touchpad_` dialog. To run the dialog start: [source,shell] .... % xfce4-mouse-settings .... Then click on the `_Theme_` tab to select a size and a style. [NOTE] ==== Some themes, included the _Default_, do not support cursor size customization. ==== Alternatively, you can achieve the same result via the `xfconf-query` command. The following example set the current theme cursur to size 50: [source,shell] .... % xfconf-query -c xsettings -n -p /Gtk/CursorThemeSize -s 50 .... [[find-mouse-cursor]] === Find Cursor Some desktop environments provide a visul feedback of the mouse pointer's current position. +[[kde-find-mouse-cursor]] +==== KDE Plasma + +KDE Plasma draws two circular lines moving around the mouse cursor. +Open the `Desktop Effects` module: + +[source,shell] +.... +% kcmshell6 kcm_kwin_effects +.... + +Enable the `_Track Mouse_` checkbox. +Draw circular lines by pressing `Meta` + `Ctrl` keys. +You can change the shortcut via the `_Configure_` button related to `_Track Mouse_`. + +[TIP] +==== +On keyboards where the `Meta` key is not present, it is usually replaced by the `Super` key. +Refer to https://en.wikipedia.org/wiki/Meta_key and https://en.wikipedia.org/wiki/Super_key_(keyboard_button) for more information. +==== + + [[xfce-find-mouse-cursor]] ==== XFCE Xfce draws large red circles around the mouse pointer. Type: [source,shell] .... % xfce4-find-cursor .... The above command draws circles for a few seconds. **Keyboard Shortcut** XFCE allows to add a keyboard shortcut. Circles are drawn for as long as the shortcut keys are pressed. To use the shortcut before enable the feature then choose the key combination to bind to `xfce4-find-cursor`. Example to enable and bind `Ctrl` + `Super` + `k`: [source,shell] .... xfconf-query -c accessibility -p /FindCursor -s true xfconf-query -c xfce4-keyboard-shortcuts -n -t 'string' -p '/commands/custom/k' -s xfce4-find-cursor .... **Keyboard Shortcut via Dialogs** Alternatively, you can achieve the same result via the XFCE configuration dialogs. First step, open the XFCE `_Accessibility_` dialog: [source,shell] .... % xfce4-accessibility-settings .... Click on `_Mouse_` tab and enable the `_Show location of pointer on keypress_` checkbox. Second step, open the XFCE `_Keyboard_` dialog: [source,shell] .... % xfce4-keyboard-settings .... Click on `_Application Shortcuts_` tab. Click on `_+ Add_` button, it opens the `_Shortcut Command_` dialog. Write _xfce4-find-cursor_ in the form, then click on the `_OK_` button. Choose a key combination to bind to `xfce4-find-cursor` in the new dialog.