Realmente es un incordio que las aplicaciones que no estan echas 100% para MacOSX falla el tema de las teclas de inicio y fin. Asi que investigando un poco me he encontrado con KeyFixer Firefox Como me interesaba como funcionaba he mirado lo que hay dentro del .app y realmente es super sencillo de hacer a mano.
Para arreglar las teclas basta con seguir estos pasos desde un Terminal (IMPORTANTE Cerrar Firefox antes de cambiar nada y conviene hacer una copia del fichero)
$ cp /Applications/Firefox.app/Contents/MacOS/chrome/toolkit.jar /tmp
$ cd /tmp ; unzip toolkit.jar /tmp
$ vi content/global/platformHTMLBindings.xml |
$ cp /Applications/Firefox.app/Contents/MacOS/chrome/toolkit.jar /tmp
$ cd /tmp ; unzip toolkit.jar /tmp
$ vi content/global/platformHTMLBindings.xml
Editamos las siguientes lineas:
16
17
18
19
20
| <!-- Fix home/end -->
<handler event="keypress" keycode="VK_HOME" command="cmd_beginLine"/>
<handler event="keypress" keycode="VK_END" command="cmd_endLine"/>
<handler event="keypress" keycode="VK_HOME" modifiers="shift" command="cmd_selectBeginLine"/>
<handler event="keypress" keycode="VK_END" modifiers="shift" command="cmd_selectEndLine"/> |
<!-- Fix home/end -->
<handler event="keypress" keycode="VK_HOME" command="cmd_beginLine"/>
<handler event="keypress" keycode="VK_END" command="cmd_endLine"/>
<handler event="keypress" keycode="VK_HOME" modifiers="shift" command="cmd_selectBeginLine"/>
<handler event="keypress" keycode="VK_END" modifiers="shift" command="cmd_selectEndLine"/>
79
80
81
82
83
| <!-- Fix home/end -->
<handler event="keypress" keycode="VK_HOME" command="cmd_beginLine"/>
<handler event="keypress" keycode="VK_END" command="cmd_endLine"/>
<handler event="keypress" keycode="VK_HOME" modifiers="shift" command="cmd_selectBeginLine"/>
<handler event="keypress" keycode="VK_END" modifiers="shift" command="cmd_selectEndLine"/> |
<!-- Fix home/end -->
<handler event="keypress" keycode="VK_HOME" command="cmd_beginLine"/>
<handler event="keypress" keycode="VK_END" command="cmd_endLine"/>
<handler event="keypress" keycode="VK_HOME" modifiers="shift" command="cmd_selectBeginLine"/>
<handler event="keypress" keycode="VK_END" modifiers="shift" command="cmd_selectEndLine"/>
92
93
94
95
| <!--handler event="keypress" keycode="VK_HOME" command="cmd_scrollTop"/>
<handler event="keypress" keycode="VK_END" command="cmd_scrollBottom"/>
<handler event="keypress" keycode="VK_HOME" modifiers="shift" command="cmd_scrollTop"/>
<handler event="keypress" keycode="VK_END" modifiers="shift" command="cmd_scrollBottom"/--> |
<!--handler event="keypress" keycode="VK_HOME" command="cmd_scrollTop"/>
<handler event="keypress" keycode="VK_END" command="cmd_scrollBottom"/>
<handler event="keypress" keycode="VK_HOME" modifiers="shift" command="cmd_scrollTop"/>
<handler event="keypress" keycode="VK_END" modifiers="shift" command="cmd_scrollBottom"/-->
205
206
207
208
| <!--handler event="keypress" keycode="VK_HOME" command="cmd_scrollTop" />
<handler event="keypress" keycode="VK_END" command="cmd_scrollBottom" />
<handler event="keypress" keycode="VK_HOME" modifiers="shift" command="cmd_scrollTop"/>
<handler event="keypress" keycode="VK_END" modifiers="shift" command="cmd_scrollBottom"/--> |
<!--handler event="keypress" keycode="VK_HOME" command="cmd_scrollTop" />
<handler event="keypress" keycode="VK_END" command="cmd_scrollBottom" />
<handler event="keypress" keycode="VK_HOME" modifiers="shift" command="cmd_scrollTop"/>
<handler event="keypress" keycode="VK_END" modifiers="shift" command="cmd_scrollBottom"/-->
Una vez guardado el fichero, volvemos a generar el .jar
/tmp$ jar cf toolkit.jar content
/tmp$ cp toolkit.jar /Applications/Firefox.app/Contents/MacOS/chrome/toolkit.jar |
/tmp$ jar cf toolkit.jar content
/tmp$ cp toolkit.jar /Applications/Firefox.app/Contents/MacOS/chrome/toolkit.jar
Arrancamos Firefox y ya tenemos funcionando las teclas de inicio y fin como toca.