{"type":"rich","version":"1.0","provider_name":"phorkie","provider_url":"https:\/\/p.cweiske.de\/","title":"custom xkb layout 2025 debian 13 cinnamon 6.4","author_name":"Christian Weiske","cache_age":86400,"width":900,"height":900,"html":"<!-- embedding all files of https:\/\/p.cweiske.de\/939 -->\n<link rel=\"stylesheet\" href=\"https:\/\/p.cweiske.de\/css\/embed.css\"\/>\n<div class=\"phork\" id=\"939\">\n    <div class=\"phork-file\">\n <div class=\"phork-content\">\n  <style type=\"text\/css\"><\/style><div class=\"code\"><table class=\"configxkbrulesevdev\"><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\/939\/rev-raw\/f4b15e1039f301998e2c93d5ff739eed8e2b24be\/.config\/xkb\/rules\/evdev\" style=\"float: right\">view raw source<\/a>\n  <a href=\"https:\/\/p.cweiske.de\/939#.config\/xkb\/rules\/evdev\">.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>cweiske kinesis<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\/939\/rev-raw\/f4b15e1039f301998e2c93d5ff739eed8e2b24be\/.config\/xkb\/rules\/evdev.xml\" style=\"float: right\">view raw source<\/a>\n  <a href=\"https:\/\/p.cweiske.de\/939#.config\/xkb\/rules\/evdev.xml\">.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=\"configxkbsymbolscweiske\"><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\/939\/rev-raw\/f4b15e1039f301998e2c93d5ff739eed8e2b24be\/.config\/xkb\/symbols\/cweiske\" style=\"float: right\">view raw source<\/a>\n  <a href=\"https:\/\/p.cweiske.de\/939#.config\/xkb\/symbols\/cweiske\">.config\/xkb\/symbols\/cweiske<\/a>\n <\/div>\n<\/div>\n    <div class=\"phork-file\">\n <div class=\"phork-content\">\n  <div class=\"code\"><pre class=\"txt\">https:\/\/xkbcommon.org\/doc\/current\/user-configuration.html\r\nhttps:\/\/xkbcommon.org\/doc\/current\/debugging.html\r\nhttps:\/\/p.cweiske.de\/678\r\nhttps:\/\/www.mkammerer.de\/blog\/custom-keyboard-layouts-in-cinnamon\/\r\nhttps:\/\/codeaffen.org\/2023\/09\/16\/custom-keyboard-layouts-with-xkb\/\r\n\r\n\u00e1\u00f3\u00fa\u00e9\r\nEnglisch (International, mit AltGr-Akzenttasten)\r\n\/var\/lib\/dpkg\/info\/keyboard-configuration.config\r\nde*variant*us*altgr-intl*English (USA) - Englisch (International, mit AltGr-Akzenttasten)\r\n\r\n\/usr\/share\/X11\/xkb\/symbols\/pc\r\n\r\npartial alphanumeric_keys modifier_keys\r\nxkb_symbols &quot;hyper&quot; {\r\n    name[Group1]= &quot;Hyper (US)&quot;;\r\n    include &quot;us(basic)&quot;\r\n    key &lt;PRSC&gt; { [ Hyper_L ] };\r\n    modifier_map Mod3 { &lt;PRSC&gt; };\r\n};\r\n\r\n\r\n\r\nl$ setxkbmap -query\r\nrules:      evdev\r\nmodel:      pc105\r\nlayout:     us\r\nvariant:    altgr-intl\r\n\r\n\/.config\/xkb\/symbol\/us\r\n\r\npartial\r\nxkb_symbols &quot;pc+us(altgr-intl)+inet(evdev)&quot; {\r\n    include &quot;pc+us(altgr-intl)+inet(evdev)&quot;\r\n    \r\n    key &lt;AD03&gt; {\r\n        type= &quot;FOUR_LEVEL_ALPHABETIC&quot;,\r\n        symbols[Group1]= [               e,               E,          EuroSign,          EuroSign ]\r\n    };\r\n    key &lt;AC01&gt; {\r\n        type= &quot;FOUR_LEVEL_ALPHABETIC&quot;,\r\n        symbols[Group1]= [               a,               A,          ae,          AE ]\r\n    };\r\n    key &lt;AD07&gt; {\r\n        type= &quot;FOUR_LEVEL_ALPHABETIC&quot;,\r\n        symbols[Group1]= [               u,               U,          ue,          UE ]\r\n    };\r\n    key &lt;AD09&gt; {\r\n        type= &quot;FOUR_LEVEL_ALPHABETIC&quot;,\r\n        symbols[Group1]= [               o,               O,          oe,          OE ]\r\n    };\r\n}\r\n\r\n\r\n\r\ntail -f ~\/.xsession-errors\r\nxkbcli compile-keymap --include ~\/.config\/xkb --include-defaults --layout custom|less\r\nxkbcli list\r\n\r\n\r\ncompilation errors:\r\n\r\nroot@gpc-rom:\/home\/cweiske\/.config\/xkb# xkbcli interactive-evdev --include \/home\/cweiske\/.config\/xkb --include-defaults --layout &#039;us(cweiske)&#039;\r\n\r\nudevadm trigger --subsystem-match=input --action=change\r\n\r\n\r\nemacs \/usr\/share\/X11\/xkb\/rules\/evdev.xml\r\nroot@gpc-rom:\/usr\/share\/X11\/xkb\/symbols# ln -s \/home\/cweiske\/.config\/xkb\/symbols\/cweiske .\r\n\r\n\r\n\r\ncweiske@gpc-rom:~$ tail -f ~\/.xsession-errors\r\nError:            Can&#039;t find file &quot;cweiske&quot; for symbols include\r\n                  Exiting\r\n                  Abandoning symbols file &quot;(null)&quot;\r\n\r\n(csd-keyboard:447450): csd-keyboard-WARNING **: 13:28:46.817: Could not activate the XKB configuration\r\nError:            Can&#039;t find file &quot;cweiske&quot; for symbols include\r\n                  Exiting\r\n                  Abandoning symbols file &quot;(null)&quot;\r\n\r\n(csd-keyboard:447450): csd-keyboard-WARNING **: 13:29:24.217: Could not activate the XKB configuration\r\n \r\n -&gt; symlink<\/pre><\/div>\n\n <\/div>\n <div class=\"phork-meta\">\n  <a href=\"https:\/\/p.cweiske.de\/939\/rev-raw\/f4b15e1039f301998e2c93d5ff739eed8e2b24be\/phork0.txt\" style=\"float: right\">view raw source<\/a>\n  <a href=\"https:\/\/p.cweiske.de\/939#phork0.txt\">phork0.txt<\/a>\n <\/div>\n<\/div>\n<\/div>\n"}
