{"id":43973,"date":"2023-05-08T10:09:20","date_gmt":"2023-05-08T10:09:20","guid":{"rendered":"https:\/\/ubuntuhandbook.org\/?p=43973"},"modified":"2025-08-19T07:27:31","modified_gmt":"2025-08-19T07:27:31","slug":"gjs-osk-more-usable-on-screen-keyboard","status":"publish","type":"post","link":"https:\/\/ubuntuhandbook.org\/index.php\/2023\/05\/gjs-osk-more-usable-on-screen-keyboard\/","title":{"rendered":"GJS OSK &#8211; More Usable On-Screen Keyboard for Ubuntu 24.04 &#038; 22.04"},"content":{"rendered":"<p><a href=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2022\/05\/keyboard-icon.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-thumbnail wp-image-40367\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2022\/05\/keyboard-icon-250x250.webp\" alt=\"\" width=\"250\" height=\"250\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2022\/05\/keyboard-icon-250x250.webp 250w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2022\/05\/keyboard-icon-300x300.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2022\/05\/keyboard-icon-600x600.webp 600w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2022\/05\/keyboard-icon-768x768.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2022\/05\/keyboard-icon.webp 1200w\" sizes=\"auto, (max-width: 250px) 100vw, 250px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>Looking for an alternative on-screen keyboard for Ubuntu, Fedora or other Linux with GNOME? Try GJS OSK.<\/p>\n<p>The built-in on-screen keyboard in Ubuntu and other Linux with GNOME is not so good. It lacks some keys, and does not raise up in most cases in Ubuntu 22.04.<\/p>\n<p>In this tutorial, I&#8217;m going to introduce a new OSK application. It&#8217;s GJS OSK written in <a href=\"https:\/\/gjs.guide\/\" target=\"_blank\" rel=\"noopener\">GNOME JavaScript<\/a>. The application features on-screen keyboard with even more keys, such as F1 ~ F12, number 0,1,2,&#8230;9, Arrows, Ctrl buttons, and PrintScreen.<\/p>\n<p>And, without sticking to the screen bottom, user can <b>move the keyboard anywhere around the screen<\/b>. Just click on quadruple arrow icon (see screenshot below) in the OSK, then you can drag moving it just like normal applications.<\/p>\n<div id=\"attachment_43974\" style=\"width: 610px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/05\/gjs-osk.webp\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-43974\" class=\"size-large wp-image-43974\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/05\/gjs-osk-600x195.webp\" alt=\"\" width=\"600\" height=\"195\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/05\/gjs-osk-600x195.webp 600w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/05\/gjs-osk-300x98.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/05\/gjs-osk-768x250.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/05\/gjs-osk.webp 1115w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><p id=\"caption-attachment-43974\" class=\"wp-caption-text\">GJS OSK, allows to move around the screen<\/p><\/div>\n<p>Also, it has an indicator applet on panel allows to one mouse click to show or hide the keyboard.<\/p>\n<div id=\"attachment_43975\" style=\"width: 408px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/05\/gjs-osk-applet.webp\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-43975\" class=\"size-full wp-image-43975\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/05\/gjs-osk-applet.webp\" alt=\"\" width=\"398\" height=\"193\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/05\/gjs-osk-applet.webp 398w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/05\/gjs-osk-applet-300x145.webp 300w\" sizes=\"auto, (max-width: 398px) 100vw, 398px\" \/><\/a><p id=\"caption-attachment-43975\" class=\"wp-caption-text\">Click show\/hide the on-screen keyboard<\/p><\/div>\n<p>Other features of <a href=\"https:\/\/github.com\/Vishram1123\/gjs-osk\" target=\"_blank\" rel=\"noopener\">GJS OSK<\/a> include:<\/p>\n<ul>\n<li>Both Wayland and <del datetime=\"2023-12-12T05:09:14+00:00\">X11<\/del> support.<\/li>\n<li>Support changing landscape and portrait size, font size, <del datetime=\"2023-12-12T05:09:14+00:00\">but sadly can NOT change the keyboard size.<\/del><\/li>\n<li>Allow changing keyboard color.<\/li>\n<li>Support QWERTY, QWERTZ, AZERTY, Dvorak layout.<\/li>\n<\/ul>\n<div id=\"attachment_43976\" style=\"width: 610px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/05\/gjs-osk-backround.webp\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-43976\" class=\"size-large wp-image-43976\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/05\/gjs-osk-backround-600x185.webp\" alt=\"\" width=\"600\" height=\"185\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/05\/gjs-osk-backround-600x185.webp 600w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/05\/gjs-osk-backround-300x93.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/05\/gjs-osk-backround-768x237.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/05\/gjs-osk-backround.webp 1103w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><p id=\"caption-attachment-43976\" class=\"wp-caption-text\">GJS OSK with different background color<\/p><\/div>\n<h3>How to Install GJS OSK<\/h3>\n<p><b><i>NOTE: GJS OSK is a stand-alone on-screen keyboard. You need to disable system built-in on-screen keyboard first from Settings to avoid conflict.<\/i><\/b><\/p>\n<h4>Option 1: Install GJS OSK from EGO<\/h4>\n<p>GJS OSK is available as an extension in <a href=\"https:\/\/extensions.gnome.org\/extension\/5949\/gjs-osk\/\" target=\"_blank\" rel=\"noopener\">extensions.gnome.org<\/a> (aka EGO), and so far it supports for GNOME from v42 to 48 (meaning Ubuntu 22.04 ~ 25.04).<\/p>\n<p>Ubuntu users may first search and install &#8220;<b>Extension Manager<\/b>&#8221; from App Center or Ubuntu Software.<\/p>\n<div id=\"attachment_44419\" style=\"width: 610px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/09\/extension-manager-inappcenter.webp\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-44419\" class=\"size-large wp-image-44419\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/09\/extension-manager-inappcenter-600x425.webp\" alt=\"\" width=\"600\" height=\"425\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/09\/extension-manager-inappcenter-600x425.webp 600w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/09\/extension-manager-inappcenter-300x212.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/09\/extension-manager-inappcenter-768x544.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/09\/extension-manager-inappcenter.webp 989w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><p id=\"caption-attachment-44419\" class=\"wp-caption-text\">Install Extension Manager in Ubuntu Software\/App Center<\/p><\/div>\n<p>Then, launch <b>Extension Manager<\/b> and navigate to <i>Browse<\/i> tab, to search and install &#8220;GJS OSK&#8221;:<\/p>\n<p><a href=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/05\/gjs-osk-em.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-48758\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/05\/gjs-osk-em-700x496.webp\" alt=\"\" width=\"610\" height=\"432\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/05\/gjs-osk-em-700x496.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/05\/gjs-osk-em-300x213.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/05\/gjs-osk-em-768x544.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/05\/gjs-osk-em.webp 885w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/a><\/p>\n<p>After installed the extension, you&#8217;ll see the indicator icon in top-right to toggle view\/hide the on-screen keyboard.<\/p>\n<p>And, by switching to &#8220;Installed&#8221; tab in Extension Manager, you may click on the gear icon to open the preferences dialog, and configure the extension layout, appearance, etc.<\/p>\n<p><a href=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/05\/configure-gjsosk-1.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-48759\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/05\/configure-gjsosk-1-700x560.webp\" alt=\"\" width=\"610\" height=\"488\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/05\/configure-gjsosk-1-700x560.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/05\/configure-gjsosk-1-300x240.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/05\/configure-gjsosk-1-768x614.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/05\/configure-gjsosk-1.webp 1019w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/a><\/p>\n<h4>Option 2: Install the extension from source:<\/h4>\n<p>1. First, go to link below to download the source from Github release page:<\/p>\n<div class=\"wp-block-buttons aligncenter\">\n<div class=\"wp-block-button is-style-fill\"><a class=\"wp-block-button__link has-vivid-cyan-blue-to-vivid-purple-gradient-background has-text-color has-background\" href=\"https:\/\/github.com\/Vishram1123\/gjs-osk\/releases\" target=\"_blank\" rel=\"noreferrer noopener\">Download GJS OSK<\/a><\/div>\n<\/div>\n<p>For GNOME 45+, meaning Ubuntu 24.04+, Fedora Workstation, Arch\/Manjaro etc, select download the <b>main.zip<\/b> under &#8216;Assets&#8217; section. While GNOME 44 and earlier, meaning Ubuntu 22.04, Debian 12, etc, can choose the <b>pre-45.zip<\/b>.<\/p>\n<p><a href=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/05\/download-gjsosk-1.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-46508\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/05\/download-gjsosk-1-700x460.webp\" alt=\"\" width=\"610\" height=\"401\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/05\/download-gjsosk-1-700x460.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/05\/download-gjsosk-1-300x197.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/05\/download-gjsosk-1-768x505.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/05\/download-gjsosk-1.webp 897w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/a><\/p>\n<p>2. After downloaded the <b>.zip<\/b> package, you do NOT have to extract it. Just open up a terminal window (for Ubuntu, press <code>Ctrl+Alt+T<\/code>) and run command to install it:<\/p>\n<pre>gnome-extensions install \/path\/to\/zip<\/pre>\n<p><i>Instead of typing \/path\/to\/zip, you can just drag&#8217;n&#8217;drop it into terminal instead.<\/i><\/p>\n<p><a href=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/05\/install-gjs-osk.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-46509\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/05\/install-gjs-osk-700x367.webp\" alt=\"\" width=\"610\" height=\"320\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/05\/install-gjs-osk-700x367.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/05\/install-gjs-osk-300x157.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/05\/install-gjs-osk-768x403.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/05\/install-gjs-osk.webp 1053w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/a><\/p>\n<p>3. <b>log out and back in<\/b>. Then, launch either &#8220;<b>GNOME Extensions<\/b>&#8221; or &#8220;<b>Extension Manager<\/b>&#8221; app (both available in Ubuntu Software, App Center (filter via Debian Package), Gnome Software). Turn on the new &#8220;GJS OSK&#8221; extension, and click its gear icon to configure its layout.<\/p>\n<p>Finally, click on\u00a0 the top-right corner keyboard indicator applet to show\/hide the new on-screen keyboard.<\/p>\n<p><a href=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/05\/enable-osk.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-46510\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/05\/enable-osk-700x518.webp\" alt=\"\" width=\"610\" height=\"451\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/05\/enable-osk-700x518.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/05\/enable-osk-300x222.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/05\/enable-osk-768x568.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/05\/enable-osk.webp 931w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/a><\/p>\n<h3>Uninstall GJS OSK<\/h3>\n<p>To remove the extension, also launch &#8220;Gnome Extensions&#8221; or &#8220;Extension Manager&#8221;, click the &#8220;\u22ee&#8221; or arrow icon beside the toggle switch to expand, and select &#8220;Remove&#8221; the extension.<\/p>\n<p><a href=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/05\/uninstall-gjs-osk.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-46511\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/05\/uninstall-gjs-osk-700x540.webp\" alt=\"\" width=\"610\" height=\"471\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/05\/uninstall-gjs-osk-700x540.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/05\/uninstall-gjs-osk-300x231.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/05\/uninstall-gjs-osk-768x592.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/05\/uninstall-gjs-osk.webp 1176w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>&nbsp; Looking for an alternative on-screen keyboard for Ubuntu, Fedora or other Linux with GNOME? Try GJS OSK. The built-in on-screen keyboard in Ubuntu and other Linux with GNOME is not so good. It lacks some keys, and does not raise up in most cases in Ubuntu 22.04. In this tutorial, I&#8217;m going to introduce [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":40367,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9],"tags":[689],"class_list":["post-43973","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-howtos","tag-gnome"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/posts\/43973","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/comments?post=43973"}],"version-history":[{"count":0,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/posts\/43973\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/media\/40367"}],"wp:attachment":[{"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/media?parent=43973"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/categories?post=43973"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/tags?post=43973"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}