diff options
author | dakkar <dakkar@thenautilus.net> | 2009-09-15 15:58:16 +0200 |
---|---|---|
committer | dakkar <dakkar@thenautilus.net> | 2009-09-15 16:01:02 +0200 |
commit | 9f2488098f6c66e3fd0df48820b6956843f8ee15 (patch) | |
tree | 79d9ba1fc9b96cf9dc1ae5bbfc34dc22544c8407 /src/SW/my-layout | |
parent | make executable (diff) | |
download | thenautilus-9f2488098f6c66e3fd0df48820b6956843f8ee15.tar.gz thenautilus-9f2488098f6c66e3fd0df48820b6956843f8ee15.tar.bz2 thenautilus-9f2488098f6c66e3fd0df48820b6956843f8ee15.zip |
page about the keyboard layout
Diffstat (limited to 'src/SW/my-layout')
-rw-r--r-- | src/SW/my-layout/document.en.rest.txt | 92 | ||||
-rw-r--r-- | src/SW/my-layout/document.it.rest.txt | 94 | ||||
l--------- | src/SW/my-layout/du2html.xsl | 1 |
3 files changed, 187 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 |