summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordakkar <dakkar@thenautilus.net>2009-09-15 15:58:16 +0200
committerdakkar <dakkar@thenautilus.net>2009-09-15 16:01:02 +0200
commit9f2488098f6c66e3fd0df48820b6956843f8ee15 (patch)
tree79d9ba1fc9b96cf9dc1ae5bbfc34dc22544c8407
parentmake executable (diff)
downloadthenautilus-9f2488098f6c66e3fd0df48820b6956843f8ee15.tar.gz
thenautilus-9f2488098f6c66e3fd0df48820b6956843f8ee15.tar.bz2
thenautilus-9f2488098f6c66e3fd0df48820b6956843f8ee15.zip
page about the keyboard layout
-rw-r--r--src/SW/my-layout/document.en.rest.txt92
-rw-r--r--src/SW/my-layout/document.it.rest.txt94
l---------src/SW/my-layout/du2html.xsl1
l---------src/tags/configs/base-feed.tt1
l---------src/tags/configs/document-listing.tt1
-rw-r--r--src/tags/configs/document.en.rest.tt7
-rw-r--r--src/tags/configs/document.it.rest.tt7
l---------src/tags/configs/du2html.xsl1
-rw-r--r--src/tags/configs/feed.en.tt1
-rw-r--r--src/tags/configs/feed.it.tt1
l---------src/tags/configs/fillFeed.xsl1
11 files changed, 207 insertions, 0 deletions
diff --git a/src/SW/my-layout/document.en.rest.txt b/src/SW/my-layout/document.en.rest.txt
new file mode 100644
index 0000000..2c90144
--- /dev/null
+++ b/src/SW/my-layout/document.en.rest.txt
@@ -0,0 +1,92 @@
+====================
+ My keyboard layout
+====================
+:CreationDate: 2009-09-15 13:20:11
+:Id: SW/my-layout
+:tags: - keyboard
+ - configs
+
+I use a `Dvorak layout
+<http://en.wikipedia.org/wiki/Dvorak_Simplified_Keyboard>`_, on an
+`Apple Aluminum Keyboard (A1243)
+<http://en.wikipedia.org/wiki/Apple_Keyboard#Apple_Keyboard>`_, on a
+Gentoo Linux PC.
+
+I could *mostly* do with the `xorg`-provided dvorak layout, by putting
+this in my ``/etc/hal/fdi/policy/10-x11-input.fdi`` file::
+
+ <match key="input.product" string="Apple, Inc Apple Keyboard">
+ <merge key="input.x11_options.XkbLayout" type="string">us</merge>
+ <merge key="input.x11_options.XkbModel" type="string">evdev</merge>
+ <merge key="input.x11_options.XkbVariant" type="string">dvorak</merge>
+ </match>
+
+but a few keys were wrong: the "tilde" and "section" keys were
+swapped, the "fn" key was not recognized, and most function keys did
+not work.
+
+For the "fn" key, I had to `write a bit of code
+<../xf86-input-evdev/>`_, but for the rest I only had to configure
+`XKB` properly.
+
+Now my `HAL` policy file contains::
+
+ <match key="input.product" string="Apple, Inc Apple Keyboard">
+ <merge key="input.x11_options.XkbLayout" type="string">dakkar</merge>
+ <merge key="input.x11_options.XkbModel" type="string">evdev</merge>
+ <merge key="input.x11_options.XkbVariant" type="string">dvorak-apple-al</merge>
+ <merge key="input.x11_options.event_key_remap" type="string">464=118 120=210 204=211</merge>
+ </match>
+
+and I have a ``/usr/share/X11/xkb/symbols/dakkar`` file with::
+
+ default partial alphanumeric_keys
+ xkb_symbols "dvorak-apple-al" {
+
+ name[Group1] = "USA Dvorak Apple Aluminium keyboard";
+
+ include "us(dvorak)"
+
+ key <TLDE> { [ quoteleft, asciitilde ] };
+
+ key <LSGT> { [ section, plusminus ] };
+
+ key <I232> { [ XF86MonBrightnessDown, F1, F1, XF86_Switch_VT_1 ] , type[Group1] = "FOUR_LEVEL_X" };
+ key <I233> { [ XF86MonBrightnessUp, F2, F2, XF86_Switch_VT_2 ] , type[Group1] = "FOUR_LEVEL_X" };
+ key <I210> { [ XF86Launch3, F3, F3, XF86_Switch_VT_3 ] , type[Group1] = "FOUR_LEVEL_X" };
+ key <I211> { [ XF86Launch4, F4, F4, XF86_Switch_VT_4 ] , type[Group1] = "FOUR_LEVEL_X" };
+ key <I237> { [ XF86KbdBrightnessDown, F5, F5, XF86_Switch_VT_5 ] , type[Group1] = "FOUR_LEVEL_X" };
+ key <I238> { [ XF86KbdBrightnessUp, F6, F6, XF86_Switch_VT_6 ] , type[Group1] = "FOUR_LEVEL_X" };
+ key <I173> { [ XF86AudioPrev, F7, F7, XF86_Switch_VT_7 ] , type[Group1] = "FOUR_LEVEL_X" };
+ key <I172> { [ XF86AudioPlay, F8, F8, XF86_Switch_VT_8 ] , type[Group1] = "FOUR_LEVEL_X" };
+ key <I171> { [ XF86AudioNext, F9, F9, XF86_Switch_VT_9 ] , type[Group1] = "FOUR_LEVEL_X" };
+ key <MUTO> { [ XF86AudioMute, F10, F10, XF86_Switch_VT_10 ] , type[Group1] = "FOUR_LEVEL_X" };
+ key <VOL-> { [ XF86AudioLowerVolume, F11, F11, XF86_Switch_VT_11 ] , type[Group1] = "FOUR_LEVEL_X" };
+ key <VOL+> { [ XF86AudioRaiseVolume, F12, F12, XF86_Switch_VT_12 ] , type[Group1] = "FOUR_LEVEL_X" };
+ key <FK13> { [ F13, F13, F13, F13 ] , type[Group1] = "FOUR_LEVEL_X" };
+ key <FK14> { [ F14, F14, F14, F14 ] , type[Group1] = "FOUR_LEVEL_X" };
+ key <FK15> { [ F15, F15, F15, F15 ] , type[Group1] = "FOUR_LEVEL_X" };
+ key <FK16> { [ F16, F16, F16, F16 ] , type[Group1] = "FOUR_LEVEL_X" };
+ key <FK17> { [ F17, F17, F17, F17 ] , type[Group1] = "FOUR_LEVEL_X" };
+ key <FK18> { [ F18, F18, F18, F18 ] , type[Group1] = "FOUR_LEVEL_X" };
+ key <FK19> { [ F19, F19, F19, F19 ] , type[Group1] = "FOUR_LEVEL_X" };
+
+ key <INS> { [ ISO_Level3_Shift, Insert ] };
+ };
+
+The first two ``key`` lines swap "tilde" and "section", the rest are
+more interesting. You see, on this keyboard (on a Mac, at least) "F1"
+… "F18" are reached in combination with the "fn" key, and the primary
+function of those keys is to be shortcuts for programs (like Exposé or
+Dashboard) or commands (change screen brightness, playing track,
+volume). So I made it work the same on X11. The ``FOUR_LEVEL_X`` type
+defines a key that has 4 possible symbols: on its own, with
+``LevelThree``, with ``Shift+LevelThree``, and with ``Control+Alt``;
+since I map the "ins" (really, "fn") key to ``ISO_Level3_Shift``, I
+can access the function keys in combination with "fn", I can access
+the command keys on their own, and (quite important) I can still
+switch to the text consoles ``:-)``.
+
+Oh, and ``Shift+Fn`` actually produces ``Shift+Insert``, so I can
+paste from the primary selection into my terminals without reaching
+for the mouse.
diff --git a/src/SW/my-layout/document.it.rest.txt b/src/SW/my-layout/document.it.rest.txt
new file mode 100644
index 0000000..fe59d9b
--- /dev/null
+++ b/src/SW/my-layout/document.it.rest.txt
@@ -0,0 +1,94 @@
+===========================
+ Il mio layout di tastiera
+===========================
+:CreationDate: 2009-09-15 13:20:11
+:Id: SW/my-layout
+:tags: - keyboard
+ - configs
+
+Io uso un `layout Dvorak
+<http://it.wikipedia.org/wiki/Tastiera_semplificata_Dvorak>`_, su una
+`tastiera Apple Alluminio (A1243)
+<http://it.wikipedia.org/wiki/Tastiere_Apple>`_, su un PC con Gentoo
+Linux.
+
+Avrei potuto *quasi* usare il layout dvorak di serie di `xorg`,
+scrivendo questo in ``/etc/hal/fdi/policy/10-x11-input.fdi``::
+
+ <match key="input.product" string="Apple, Inc Apple Keyboard">
+ <merge key="input.x11_options.XkbLayout" type="string">us</merge>
+ <merge key="input.x11_options.XkbModel" type="string">evdev</merge>
+ <merge key="input.x11_options.XkbVariant" type="string">dvorak</merge>
+ </match>
+
+ma avrei avuto un po' di problemi: i tasti "tilde" e "sezione"
+sarebbero stati scambiati, il tasto "fn" non sarebbe stato
+riconosciuto, e la maggior parte dei tasti funzione non avrebbero
+funzionato.
+
+Per il tasto "fn" ho dovuto `scrivere un po' di codice
+<../xf86-input-evdev/>`_, ma per il resto è bastato configurare per
+bene `XKB`.
+
+Ora il file di `HAL` contiene::
+
+ <match key="input.product" string="Apple, Inc Apple Keyboard">
+ <merge key="input.x11_options.XkbLayout" type="string">dakkar</merge>
+ <merge key="input.x11_options.XkbModel" type="string">evdev</merge>
+ <merge key="input.x11_options.XkbVariant" type="string">dvorak-apple-al</merge>
+ <merge key="input.x11_options.event_key_remap" type="string">464=118 120=210 204=211</merge>
+ </match>
+
+e ho un file ``/usr/share/X11/xkb/symbols/dakkar`` con::
+
+ default partial alphanumeric_keys
+ xkb_symbols "dvorak-apple-al" {
+
+ name[Group1] = "USA Dvorak Apple Aluminium keyboard";
+
+ include "us(dvorak)"
+
+ key <TLDE> { [ quoteleft, asciitilde ] };
+
+ key <LSGT> { [ section, plusminus ] };
+
+ key <I232> { [ XF86MonBrightnessDown, F1, F1, XF86_Switch_VT_1 ] , type[Group1] = "FOUR_LEVEL_X" };
+ key <I233> { [ XF86MonBrightnessUp, F2, F2, XF86_Switch_VT_2 ] , type[Group1] = "FOUR_LEVEL_X" };
+ key <I210> { [ XF86Launch3, F3, F3, XF86_Switch_VT_3 ] , type[Group1] = "FOUR_LEVEL_X" };
+ key <I211> { [ XF86Launch4, F4, F4, XF86_Switch_VT_4 ] , type[Group1] = "FOUR_LEVEL_X" };
+ key <I237> { [ XF86KbdBrightnessDown, F5, F5, XF86_Switch_VT_5 ] , type[Group1] = "FOUR_LEVEL_X" };
+ key <I238> { [ XF86KbdBrightnessUp, F6, F6, XF86_Switch_VT_6 ] , type[Group1] = "FOUR_LEVEL_X" };
+ key <I173> { [ XF86AudioPrev, F7, F7, XF86_Switch_VT_7 ] , type[Group1] = "FOUR_LEVEL_X" };
+ key <I172> { [ XF86AudioPlay, F8, F8, XF86_Switch_VT_8 ] , type[Group1] = "FOUR_LEVEL_X" };
+ key <I171> { [ XF86AudioNext, F9, F9, XF86_Switch_VT_9 ] , type[Group1] = "FOUR_LEVEL_X" };
+ key <MUTO> { [ XF86AudioMute, F10, F10, XF86_Switch_VT_10 ] , type[Group1] = "FOUR_LEVEL_X" };
+ key <VOL-> { [ XF86AudioLowerVolume, F11, F11, XF86_Switch_VT_11 ] , type[Group1] = "FOUR_LEVEL_X" };
+ key <VOL+> { [ XF86AudioRaiseVolume, F12, F12, XF86_Switch_VT_12 ] , type[Group1] = "FOUR_LEVEL_X" };
+ key <FK13> { [ F13, F13, F13, F13 ] , type[Group1] = "FOUR_LEVEL_X" };
+ key <FK14> { [ F14, F14, F14, F14 ] , type[Group1] = "FOUR_LEVEL_X" };
+ key <FK15> { [ F15, F15, F15, F15 ] , type[Group1] = "FOUR_LEVEL_X" };
+ key <FK16> { [ F16, F16, F16, F16 ] , type[Group1] = "FOUR_LEVEL_X" };
+ key <FK17> { [ F17, F17, F17, F17 ] , type[Group1] = "FOUR_LEVEL_X" };
+ key <FK18> { [ F18, F18, F18, F18 ] , type[Group1] = "FOUR_LEVEL_X" };
+ key <FK19> { [ F19, F19, F19, F19 ] , type[Group1] = "FOUR_LEVEL_X" };
+
+ key <INS> { [ ISO_Level3_Shift, Insert ] };
+ };
+
+Le prime due righe "key" scambiano "tilde" e "sezione", il resto è più
+interessante. Vedete, su questa tastiera (su un Mac, almeno) "F1" …
+"F18" si ottengono in combinazione con il tasto "fn", e l'uso
+principale (senza modificatori) di quei tasti è di invocare programmi
+(Exposé o Dashboard) e altri comandi (cambiare la luminosità dello
+schermo, la traccia in riproduzione, il volume). Quindi ho fatto in
+modo di avere lo stesso comportamento anche su X11. Il tipo
+``FOUR_LEVEL_X`` definisce un tasto che ha 4 possibili simboli: da
+solo, con ``LevelThree``, con ``Shift+LevelThree``, e con
+``Control+Alt``; siccome mappo il tasto "ins" (in effetti, "fn") a
+``ISO_Level3_Shift``, posso accedere ai tasti funzione con "fn", posso
+accedere ai tasti comando da soli, e (piuttosto importante) posso pure
+passare alle console testo ``:-)``.
+
+Oh, e ``Shift+Fn`` produce ``Shift+Insert``, così che posso incollare
+il testo dalla selezione primaria nel terminale senza prendere il
+mouse.
diff --git a/src/SW/my-layout/du2html.xsl b/src/SW/my-layout/du2html.xsl
new file mode 120000
index 0000000..e2487e0
--- /dev/null
+++ b/src/SW/my-layout/du2html.xsl
@@ -0,0 +1 @@
+../../../templates/du2html.xsl \ No newline at end of file
diff --git a/src/tags/configs/base-feed.tt b/src/tags/configs/base-feed.tt
new file mode 120000
index 0000000..adac363
--- /dev/null
+++ b/src/tags/configs/base-feed.tt
@@ -0,0 +1 @@
+../../../templates/base-feed.tt \ No newline at end of file
diff --git a/src/tags/configs/document-listing.tt b/src/tags/configs/document-listing.tt
new file mode 120000
index 0000000..88c3968
--- /dev/null
+++ b/src/tags/configs/document-listing.tt
@@ -0,0 +1 @@
+../../../templates/document-listing.tt \ No newline at end of file
diff --git a/src/tags/configs/document.en.rest.tt b/src/tags/configs/document.en.rest.tt
new file mode 100644
index 0000000..99cb5a0
--- /dev/null
+++ b/src/tags/configs/document.en.rest.tt
@@ -0,0 +1,7 @@
+========================
+ Various configurations
+========================
+:CreationDate: 2009-09-15 13:20:11
+:feed:
+
+[% PROCESS 'document-listing.tt' %]
diff --git a/src/tags/configs/document.it.rest.tt b/src/tags/configs/document.it.rest.tt
new file mode 100644
index 0000000..be3ce70
--- /dev/null
+++ b/src/tags/configs/document.it.rest.tt
@@ -0,0 +1,7 @@
+======================
+ Configurazioni varie
+======================
+:CreationDate: 2009-09-15 13:20:11
+:feed:
+
+[% PROCESS 'document-listing.tt' %]
diff --git a/src/tags/configs/du2html.xsl b/src/tags/configs/du2html.xsl
new file mode 120000
index 0000000..e2487e0
--- /dev/null
+++ b/src/tags/configs/du2html.xsl
@@ -0,0 +1 @@
+../../../templates/du2html.xsl \ No newline at end of file
diff --git a/src/tags/configs/feed.en.tt b/src/tags/configs/feed.en.tt
new file mode 100644
index 0000000..f7b7730
--- /dev/null
+++ b/src/tags/configs/feed.en.tt
@@ -0,0 +1 @@
+[% INCLUDE 'base-feed.tt' %]
diff --git a/src/tags/configs/feed.it.tt b/src/tags/configs/feed.it.tt
new file mode 100644
index 0000000..f7b7730
--- /dev/null
+++ b/src/tags/configs/feed.it.tt
@@ -0,0 +1 @@
+[% INCLUDE 'base-feed.tt' %]
diff --git a/src/tags/configs/fillFeed.xsl b/src/tags/configs/fillFeed.xsl
new file mode 120000
index 0000000..ad8d15a
--- /dev/null
+++ b/src/tags/configs/fillFeed.xsl
@@ -0,0 +1 @@
+../../../templates/fillFeed.xsl \ No newline at end of file