{"type":"rich","version":"1.0","provider_name":"phorkie","provider_url":"https:\/\/p.cweiske.de\/","title":"Kinesis Ergo xmodmap replacement in 2026 (Wayland)","author_name":"Christian Weiske","cache_age":86400,"width":900,"height":900,"html":"<!-- embedding all files of https:\/\/p.cweiske.de\/975 -->\n<link rel=\"stylesheet\" href=\"https:\/\/p.cweiske.de\/css\/embed.css\"\/>\n<div class=\"phork\" id=\"975\">\n    <div class=\"phork-file\">\n <div class=\"phork-content\">\n  \n<div class=\"document\">\n\n\n<div class=\"section\" id=\"goal\">\n<h1>Goal<\/h1>\n<p>Custom english keyboard layout for the Kinesis Advantage2 that allows easy input of German Umlauts (\u00e4\u00f6\u00fc\u00c4\u00d6\u00dc\u00df) by pressing &quot;right alt + a\/o\/u\/s&quot; or &quot;right alt + shift + a\/o\/u\/s&quot;.<\/p>\n<p>Layout can be selected in the Gnome shell 48.7 keyboard settings.<\/p>\n<\/div>\n<div class=\"section\" id=\"setup\">\n<h1>Setup<\/h1>\n<pre class=\"literal-block\">\nmkdir -p ~\/.config\/xkb\/rules ~\/.config\/xkb\/symbols\n<\/pre>\n<p>Store the files in those directories:<\/p>\n<ul class=\"simple\">\n<li><tt class=\"docutils literal\"><span class=\"pre\">~\/.config\/xkb\/rules\/evdev<\/span><\/tt><\/li>\n<li><tt class=\"docutils literal\"><span class=\"pre\">~\/.config\/xkb\/rules\/evdev.xml<\/span><\/tt><\/li>\n<li><tt class=\"docutils literal\"><span class=\"pre\">~\/.config\/xkb\/symbols\/cweiske<\/span><\/tt><\/li>\n<\/ul>\n<\/div>\n<div class=\"section\" id=\"links\">\n<h1>Links<\/h1>\n<ul class=\"simple\">\n<li><a class=\"reference external\" href=\"https:\/\/p.cweiske.de\/154\">https:\/\/p.cweiske.de\/154<\/a><\/li>\n<li><a class=\"reference external\" href=\"https:\/\/p.cweiske.de\/678\">https:\/\/p.cweiske.de\/678<\/a><\/li>\n<li><a class=\"reference external\" href=\"https:\/\/codeaffen.org\/2023\/09\/16\/custom-keyboard-layouts-with-xkb\/\">https:\/\/codeaffen.org\/2023\/09\/16\/custom-keyboard-layouts-with-xkb\/<\/a><\/li>\n<li><a class=\"reference external\" href=\"https:\/\/lars.ingebrigtsen.no\/2024\/04\/28\/the-simplest-thing-in-the-world-modifing-keymaps-in-wayland\/\">https:\/\/lars.ingebrigtsen.no\/2024\/04\/28\/the-simplest-thing-in-the-world-modifing-keymaps-in-wayland\/<\/a><\/li>\n<\/ul>\n<\/div>\n<\/div>\n\n <\/div>\n <div class=\"phork-meta\">\n  <a href=\"https:\/\/p.cweiske.de\/975\/rev-raw\/4bf268fa895df16fdd1609e6b7841e5071ee5737\/README.rst\" style=\"float: right\">view raw source<\/a>\n  <a href=\"https:\/\/p.cweiske.de\/975#README.rst\">README.rst<\/a>\n <\/div>\n<\/div>\n    <div class=\"phork-file\">\n <div class=\"phork-content\">\n  <style type=\"text\/css\"><\/style><div class=\"code\"><table class=\"config-xkb-rules-evdev\"><tbody><tr class=\"li1\"><td class=\"ln\"><pre class=\"de1\">1\n2\n3\n4\n5\n6\n<\/pre><\/td><td class=\"de1\"><pre class=\"de1\">\/\/ Mandatory to extend the\r\n! include %S\/evdev\r\n&#160;\n! option &#160; &#160; = symbols\r\n&#160; cweiske:kinesis = +cweiske(kinesis)\r\n&#160;<\/pre><\/td><\/tr><\/tbody><\/table><\/div>\n <\/div>\n <div class=\"phork-meta\">\n  <a href=\"https:\/\/p.cweiske.de\/975\/rev-raw\/4bf268fa895df16fdd1609e6b7841e5071ee5737\/home-.config-xkb-rules-evdev\" style=\"float: right\">view raw source<\/a>\n  <a href=\"https:\/\/p.cweiske.de\/975#home-.config-xkb-rules-evdev\">home-.config-xkb-rules-evdev<\/a>\n <\/div>\n<\/div>\n    <div class=\"phork-file\">\n <div class=\"phork-content\">\n  <style type=\"text\/css\">\/**\n * GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2014 Benny Baumann\n * (http:\/\/qbnz.com\/highlighter\/ and http:\/\/geshi.org\/)\n *\/\n.xml .de1, .xml .de2 {font: normal normal 1em\/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;}\n.xml  {font-family:monospace;}\n.xml .imp {font-weight: bold; color: red;}\n.xml li, .xml .li1 {color: #DDD;}\n.xml .ln {width:1px;text-align:right;margin:0;padding:0 2px;vertical-align:top;}\n.xml .es0 {color: #000099; font-weight: bold;}\n.xml .br0 {color: #66cc66;}\n.xml .sy0 {color: #66cc66;}\n.xml .st0 {color: #ff0000;}\n.xml .sc-1 {color: #808080; font-style: italic;}\n.xml .sc0 {color: #00bbdd;}\n.xml .sc1 {color: #ddbb00;}\n.xml .sc2 {color: #339933;}\n.xml .sc3 {color: #009900;}\n.xml .re0 {color: #000066;}\n.xml .re1 {color: #000000; font-weight: bold;}\n.xml .re2 {color: #000000; font-weight: bold;}\n.xml span.xtra { display:block; }\n<\/style><div class=\"code\"><table class=\"xml\"><tbody><tr class=\"li1\"><td class=\"ln\"><pre class=\"de1\">1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11\n12\n13\n14\n15\n16\n17\n18\n19\n20\n21\n22\n<\/pre><\/td><td class=\"de1\"><pre class=\"de1\"><span class=\"sc3\"><span class=\"re1\">&lt;?xml<\/span> <span class=\"re0\">version<\/span>=<span class=\"st0\">&quot;1.0&quot;<\/span> <span class=\"re0\">encoding<\/span>=<span class=\"st0\">&quot;UTF-8&quot;<\/span><span class=\"re2\">?&gt;<\/span><\/span>\n<span class=\"sc0\">&lt;!DOCTYPE xkbConfigRegistry SYSTEM &quot;xkb.dtd&quot;&gt;<\/span>\n<span class=\"sc3\"><span class=\"re1\">&lt;xkbConfigRegistry<\/span> <span class=\"re0\">version<\/span>=<span class=\"st0\">&quot;1.1&quot;<\/span><span class=\"re2\">&gt;<\/span><\/span>\n&#160; <span class=\"sc3\"><span class=\"re1\">&lt;layoutList<span class=\"re2\">&gt;<\/span><\/span><\/span>\n&#160; &#160; <span class=\"sc3\"><span class=\"re1\">&lt;layout<span class=\"re2\">&gt;<\/span><\/span><\/span>\n&#160; &#160; &#160; <span class=\"sc3\"><span class=\"re1\">&lt;configItem<span class=\"re2\">&gt;<\/span><\/span><\/span>\n&#160; &#160; &#160; &#160; <span class=\"sc3\"><span class=\"re1\">&lt;name<span class=\"re2\">&gt;<\/span><\/span><\/span>cweiske<span class=\"sc3\"><span class=\"re1\">&lt;\/name<span class=\"re2\">&gt;<\/span><\/span><\/span>\n&#160; &#160; &#160; &#160; <span class=\"sc3\"><span class=\"re1\">&lt;shortDescription<span class=\"re2\">&gt;<\/span><\/span><\/span>en<span class=\"sc3\"><span class=\"re1\">&lt;\/shortDescription<span class=\"re2\">&gt;<\/span><\/span><\/span>\n&#160; &#160; &#160; &#160; <span class=\"sc3\"><span class=\"re1\">&lt;description<span class=\"re2\">&gt;<\/span><\/span><\/span>cweiske + English intl., with AltGr dead keys<span class=\"sc3\"><span class=\"re1\">&lt;\/description<span class=\"re2\">&gt;<\/span><\/span><\/span>\n&#160; &#160; &#160; &#160; <span class=\"sc3\"><span class=\"re1\">&lt;countryList<span class=\"re2\">&gt;<\/span><\/span><\/span>\n&#160; &#160; &#160; &#160; &#160; <span class=\"sc3\"><span class=\"re1\">&lt;iso3166Id<span class=\"re2\">&gt;<\/span><\/span><\/span>US<span class=\"sc3\"><span class=\"re1\">&lt;\/iso3166Id<span class=\"re2\">&gt;<\/span><\/span><\/span>\n&#160; &#160; &#160; &#160; &#160; <span class=\"sc3\"><span class=\"re1\">&lt;iso3166Id<span class=\"re2\">&gt;<\/span><\/span><\/span>DE<span class=\"sc3\"><span class=\"re1\">&lt;\/iso3166Id<span class=\"re2\">&gt;<\/span><\/span><\/span>\n&#160; &#160; &#160; &#160; <span class=\"sc3\"><span class=\"re1\">&lt;\/countryList<span class=\"re2\">&gt;<\/span><\/span><\/span>\n&#160; &#160; &#160; &#160; <span class=\"sc3\"><span class=\"re1\">&lt;languageList<span class=\"re2\">&gt;<\/span><\/span><\/span>\n&#160; &#160; &#160; &#160; &#160; <span class=\"sc3\"><span class=\"re1\">&lt;iso639Id<span class=\"re2\">&gt;<\/span><\/span><\/span>eng<span class=\"sc3\"><span class=\"re1\">&lt;\/iso639Id<span class=\"re2\">&gt;<\/span><\/span><\/span>\n&#160; &#160; &#160; &#160; &#160; <span class=\"sc3\"><span class=\"re1\">&lt;iso639Id<span class=\"re2\">&gt;<\/span><\/span><\/span>deu<span class=\"sc3\"><span class=\"re1\">&lt;\/iso639Id<span class=\"re2\">&gt;<\/span><\/span><\/span>\n&#160; &#160; &#160; &#160; <span class=\"sc3\"><span class=\"re1\">&lt;\/languageList<span class=\"re2\">&gt;<\/span><\/span><\/span>\n&#160; &#160; &#160; <span class=\"sc3\"><span class=\"re1\">&lt;\/configItem<span class=\"re2\">&gt;<\/span><\/span><\/span>\n&#160; &#160; <span class=\"sc3\"><span class=\"re1\">&lt;\/layout<span class=\"re2\">&gt;<\/span><\/span><\/span>\n&#160; <span class=\"sc3\"><span class=\"re1\">&lt;\/layoutList<span class=\"re2\">&gt;<\/span><\/span><\/span>\n<span class=\"sc3\"><span class=\"re1\">&lt;\/xkbConfigRegistry<span class=\"re2\">&gt;<\/span><\/span><\/span>\n&#160;<\/pre><\/td><\/tr><\/tbody><\/table><\/div>\n <\/div>\n <div class=\"phork-meta\">\n  <a href=\"https:\/\/p.cweiske.de\/975\/rev-raw\/4bf268fa895df16fdd1609e6b7841e5071ee5737\/home-.config-xkb-rules-evdev.xml\" style=\"float: right\">view raw source<\/a>\n  <a href=\"https:\/\/p.cweiske.de\/975#home-.config-xkb-rules-evdev.xml\">home-.config-xkb-rules-evdev.xml<\/a>\n <\/div>\n<\/div>\n    <div class=\"phork-file\">\n <div class=\"phork-content\">\n  <style type=\"text\/css\"><\/style><div class=\"code\"><table class=\"config-xkb-symbols-cweiske\"><tbody><tr class=\"li1\"><td class=\"ln\"><pre class=\"de1\">1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11\n12\n13\n14\n15\n16\n17\n18\n19\n20\n21\n22\n23\n<\/pre><\/td><td class=\"de1\"><pre class=\"de1\">partial alphanumeric_keys\r\nxkb_symbols &quot;kinesis&quot; {\r\n&#160; &#160; include &quot;pc+us(altgr-intl)+inet(evdev)&quot;\r\n&#160; &#160; name[Group1] = &quot;cweiske (English intl., with AltGr dead keys)&quot;;\r\n&#160;\n&#160; &#160; key &lt;AC01&gt; {\r\n&#160; &#160; &#160; &#160; type= &quot;FOUR_LEVEL_ALPHABETIC&quot;,\r\n&#160; &#160; &#160; &#160; symbols[Group1]= [ &#160; &#160; &#160; &#160; &#160; &#160; &#160; a, &#160; &#160; &#160; &#160; &#160; &#160; &#160; A, &#160; &#160; &#160; &#160; &#160;adiaeresis, &#160;Adiaeresis ]\r\n&#160; &#160; };\r\n&#160; &#160; key &lt;AD03&gt; {\r\n&#160; &#160; &#160; &#160; type= &quot;FOUR_LEVEL_ALPHABETIC&quot;,\r\n&#160; &#160; &#160; &#160; symbols[Group1]= [ &#160; &#160; &#160; &#160; &#160; &#160; &#160; e, &#160; &#160; &#160; &#160; &#160; &#160; &#160; E, &#160; &#160; &#160; &#160; &#160;EuroSign, &#160; &#160;EuroSign ]\r\n&#160; &#160; };\r\n&#160; &#160; key &lt;AD07&gt; {\r\n&#160; &#160; &#160; &#160; type= &quot;FOUR_LEVEL_ALPHABETIC&quot;,\r\n&#160; &#160; &#160; &#160; symbols[Group1]= [ &#160; &#160; &#160; &#160; &#160; &#160; &#160; u, &#160; &#160; &#160; &#160; &#160; &#160; &#160; U, &#160; &#160; &#160; &#160; &#160;udiaeresis, &#160;Udiaeresis ]\r\n&#160; &#160; };\r\n&#160; &#160; key &lt;AD09&gt; {\r\n&#160; &#160; &#160; &#160; type= &quot;FOUR_LEVEL_ALPHABETIC&quot;,\r\n&#160; &#160; &#160; &#160; symbols[Group1]= [ &#160; &#160; &#160; &#160; &#160; &#160; &#160; o, &#160; &#160; &#160; &#160; &#160; &#160; &#160; O, &#160; &#160; &#160; &#160; &#160;odiaeresis, &#160;Odiaeresis ]\r\n&#160; &#160; };\r\n};\r\n&#160;<\/pre><\/td><\/tr><\/tbody><\/table><\/div>\n <\/div>\n <div class=\"phork-meta\">\n  <a href=\"https:\/\/p.cweiske.de\/975\/rev-raw\/4bf268fa895df16fdd1609e6b7841e5071ee5737\/home-.config-xkb-symbols-cweiske\" style=\"float: right\">view raw source<\/a>\n  <a href=\"https:\/\/p.cweiske.de\/975#home-.config-xkb-symbols-cweiske\">home-.config-xkb-symbols-cweiske<\/a>\n <\/div>\n<\/div>\n<\/div>\n"}
