Puntero X Gigante <author>Jörg Schneider, <tt><htmlurl url="mailto:joerg.schneider@ira.uka.de" name="joerg.schneider@ira.uka.de"></tt>.&nl; Traducido por Iosu Santurtún, <tt><htmlurl url="mailto:iosu@bigfoot.com" name="iosu@bigfoot.com"></tt>. <date>v2, 11 de Agosto de 1997. Fecha de la traducción 7 de Junio de 1998 <abstract> Este documento describe cómo usar punteros agrandados con el sistema X Window. </abstract> <toc> <sect>Introducción <p> Hay numerosas razones por las que el puntero X normal es difícil de seguir para algunas personas: <itemize> <item>al usar un sistema X en una agenda con pantalla LCD de bajo contraste. <item>al utilizar pantallas normales con alta resolución, p.e. 1600x1200. <item>al tratarse de impedidos visuales incluso utilizando un hardware normal. </itemize> En todos los casos ayudaría el uso de punteros de ratón agrandados. Idealmente esta tarea la debería realizar u único programa X que automáticamente agrandase todos los punteros del ratón. Por lo que yo sé, no hay una forma fácil de hacer ésto, ya que el protocolo X no prevee examinar los punteros del ratón. Para más detalles, véase la sección <ref id="dis-tec" name="Discusión técnica"> Si nos ponemos una meta menos general, sin embargo, se puede hacer algo: Hay un conjunto de punteros estándar que se pueden encontrar en el tipo <tt/cursor/ (pruebe <tt/xfd -fn cursor/ para verlos). La mayoría de los programas usan estos punteros y la idea clave es reemplazar estos punteros con otros mayores. <sect>Acerca de este documento <p> La motivación de este mini-COMO fue un compañero de estudios con discapacidad visual que me preguntó como agrandar el puntero de ratón bajo un sistema X. Una vez que encontré cómo hacer aquello, escribí una versión inicial de este documento. El conocimiento sobre el método aquí descrito no parece ser muy general, así que decidí compartirlo y envié este documento como un mini-COMO Linux, a pesar del hecho de que no es en absoluto específico de Linux. Como el resto de mini-COMOs se puede encontrar en el servidor del LDP (Linux Documentation Project) <tt><htmlurl url="http://sunsite.unc.edu/LDP/HOWTO/" name="http://unc.sunsite.edu/LDP/HOWTO/"></tt>. <footnote>N.del T. &nl; Para encontrar las traducciones de los COMOs y los mini-COMOs, se puede consultar el servidor de INSFLUG en <tt><htmlurl url="http://www.insflug.org/" name="http://www.insflug.org"></tt>.</footnote> El original de este documento <tt><htmlurl url="http://i11www.ira.uka.de/~schneid/X11-big-cursor/master/" name="http://i11www.ira.uka.de/˜schneid/X11-big-cursor/master/"></tt> (N.del T. así como su traducción) se mantiene en formato SGML/linuxdoc. Esto hace posible proporcionar automáticamente versiones en los siguientes formatos (que se pueden encontrar en el mismo lugar que el original): html, texto, LaTeX, DVI, PostScript, GNU info. Shinobu Miyata <tt><htmlurl url="mailto:shinobu@emichan.rim.or.jp" name="shinobu@emichan.rim.or.jp"></tt> ha traducido este mini-COMO al japonés. Se puede encontrar en <tt><htmlurl url="http://i11www.ira.uka.de/~schneid/jp/X11-big-cursor/" name="http://i11www.ira.uka.de/˜schneid/jp/X11-big-cursor/"></tt> <sect>Cómo se hace <p> Siga los pasos indicados debajo. Si no quiere obtener y compilar el paquete <tt/bfdresize/, puede saltarse los pasos 1 y 2 y descargar una fuente aumentada en lugar de crearla. <enum> <item>obtenga <tt/cursor.bdf/, la fuente del tipo <tt/cursor/, de alguna distribución X, por ejemplo de <tt><htmlurl url="ftp://ftp.x.org/pub/R6.3/xc/fonts/misc/cursor.bdf" name="ftp://ftp.x.org/pub/R6.3/xc/fonts/misc/cursor.bdf"></tt> (si no lo encuentra allí pruebe una búsqueda <it/archie/ o descárguelo de mi copia en <tt><htmlurl url="http://i11www.ira.uka.de/~schneid/X11-big-cursor/cursor.bdf" name="http://i11www.ira.uka.de/~schneid/X11-big-cursor/cursor.bdf"></tt>) <item>obtenga, compile e instale el paquete <tt/bdfresize/ de <tt><htmlurl url="ftp://ftp.cs.titech.ac.jp/X11/contrib/Local/bdfresize-1.4.tar.Z" name="ftp://ftp.cs.titech.ac.jp/X11/contrib/Local/bdfresize-1.4.tar.Z"></tt> (o de mi copia en <tt><htmlurl url="http://i11www.ira.uka.de/~schneid/X11-big-cursor/bdfresize-1.4.tar.gz" name="http://i11www.ira.uka.de/~schneid/X11-big-cursor/bdfresize-1.4.tar.gz"> </tt>): <tscreen><verb> zcat bdfresize-1.4.tar.Z | tar xf - cd bdfresize-1.4 xmkmf make </verb></tscreen> En Linux probablemente tenga que usar: <tscreen><verb> make CCOPTIONS='-include /usr/include/bsd/bsd.h' clean all </verb></tscreen> <item>cree un directorio e instale el tipo agrandado <tt/cursor/ en él (factor de agrandado 2 en este ejemplo) <tscreen><verb> mkdir $HOME/fonts bdfresize -f 2 cursor.bdf | bdftopcf > $HOME/fonts/cursor2.pcf mkfontdir $HOME/fonts </verb></tscreen> He preparado algunos tipos <tt/cursor/ en <tt><htmlurl url="http://i11www.ira.uka.de/~schneid/X11-big-cursor/fonts/" name="http://i11www.ira.uka.de/~schneid/X11-big-cursor/fonts/"></tt> con los siguientes factores de aumento: 1.5, 2, 2.5, 3, 4, 5, 6, 7, 8 y 16. Puede descargar uno de ellos y copiarlo a <tt>$HOME/fonts</tt> si no quiere usar bdfresize. <item>modifique su <tt/.xinitrc/ o <tt/.xsession/: antes de arrancar ningún cliente (que use punteros) hay que ejecutar los siguientes comandos: <tscreen><verb> xset +fp $HOME/fonts xsetroot -cursor_name X_cursor </verb></tscreen> <item>abandone su sesión X y reinicie. </enum> Eso es todo -- ahora todos los punteros del ratón deberían ser el doble de grandes. <sect>Notas y limitaciones <p> <itemize> <item>Los servidores X pueden tener un límite máximo en el tamaño del puntero, sobre todo si usan una implementación hardware del puntero. Otros no tienen tal limitación, p.e. XF86_S3 funciona incluso con un puntero de 512x512 (aunque bastante lentamente). <item>El tipo agrandado <tt/cursor/ debe tener el mismo nombre que el tipo original; (el nombre de tipo debe ser cursor, el nombre del fichero no importa) eso no es problema ya que <tt/bdfresize/ no cambia el nombre del tipo. <item>El directorio con el nuevo tipo <tt/cursor/ debe colocarse antes que el directorio con el tipo <tt/cursor/ estándar en el <it/path/ de los tipos -- esto se lleva a cabo con <tt/xset +fp/ (al contrario que con <tt/xset fp+/). <item>Los cambios en <tt>$HOME/fonts</tt> solamente serán visibles después después de los comandos: <tscreen><verb> mkfontdir $HOME/fonts xset fp rehash </verb></tscreen> y sólo en clientes X arrancados de nuevo (más exáctamente: para punteros creados nuevamente). <item><tt/xset +fp path/ puede que no funcione en un terminal X. En este caso se puede usar un servidor de fuentes si es soportado por el terimnal X (véase la sección <ref id="server" name="Cómo usar un servidor de tipos">) u otro método para instalar el tipo en el terminal X (normalmente esto solo lo puede hacer el administrador del sistema). <item>La misma idea se puede usar para los tipos <tt/olcursor/ y <tt/decw$cursor/ y otros tipos de puntero que se puedan encontrar. <item>Los tipos puntero generados por <tt/bdfresize/ no son suaves, especialmente con un factor de modificación grande. Sería agradable si alguien pudiese crear una versión más bonita a mano, de los tamaños más comunes. </itemize> <sect>Discusión técnica<label id="dis-tec"> <p> Cómo escribir un programa que agrande los punteros en X automáticamente <descrip> <tag/solución 1/ Usar <tt/XTestCompareCursor/ de la extensión <tt/XTEST/. Para todas aquellas ventanas en las que entre el puntero del ratón, comparar el puntero con un grupo de punteros 'conocidos' (p.e. con los del tipo <tt/cursor/). Si se encuentra el puntero, sustituirlo con el puntero agrandado, si no, dejarlo o sustituir un cursor estándar. Esto solo funciona si la extensión <tt/XTest/ está disponible. <tag/solución 2/ Escribir un servidor X <it/proxy/ que deje pasar las peticiones de los clientes al servidor X real, y que intercepte todas las peticiones correspondientes a las funciones de Xlib <tt/XCreate*Cursor/. Las peticiones <tt/XCreate*Cursor/ deberían ser modificadas para usar un puntero mayor. Este servidor <it/proxy/ simula una nueva pantalla, p.e. :1. Todos los clientes que se conecten a esta pantalla (p.e <tt/xterm -display :1/) se muestran en el servidor real (normalmente <tt/:0/) y sus punteros de ratón son agrandados automáticamente. Los punteros de los clientes que se conecten a <tt/:0/ permanecerán sin cambios. </descrip> <sect>Otras ideas para hacer el puntero del ratón más visible <p> He aquí algunas ideas para programas sencillos que podrían hacer más fácil el seguimiento del puntero del ratón. <itemize> <item>Cuando se pulse una determinada tecla (o combinación de teclas) mostrar algo (un cursor grande, una ventana pequeña, una ventana con una forma determinada) en la posición actual del puntero durante medio segundo. <item>Usar <tt/XRecolorCursor/ para cambiar el color del puntero cada décima de segundo. </itemize> Un proyecto más exigente sería la estela del ratón al estilo de windows, por ejemplo, cuando se mueve el ratón y el puntero tiene que ser pintado en una posición diferente, el antiguo no desaparece al momento, sino después de un cierto retraso. Las estelas del ratón posiblemente fuera mejor implementarlas en el propio servidor, pero también se podría hacerlo como un cliente X, o mejor como un servidor <it/proxy/ (Véase la sección <ref id="dis-tec" name="Discusión técnica">). <sect>Información relacionada <p> <sect1>Cómo usar un servidor de tipos <label id="server"> <p> Un servidor de tipos es un servicio de red que proporciona un conjunto de tipos X11 con un protocolo simple. Se le puede consultar qué tipos proporciona y servirá el mapa de bits de un tipo determinado a petición. Podría usarse el servidor de fuentes para proporcionar al servidor X el tipo <tt/cursor/ modificado, en lugar de decirle dónde encontrarlo en el sistema de ficheros. Este sistema es especialmente apropiado si se utilizan varias máquinas que no comparten u sistema de ficheros común o si se utilizan terminales X que soporten el protocolo del servidor de tipos. Un programa de servidor de tipos y algunas herramientas asociadas viene con la distribución <tt/X11R5+/ (hasta donde yo sé). <sect1>Instalar un servidor de tipos <p> Lea las páginas del manual <tt/fs(1)/, <tt/fslsfonts(1)/ (o <tt/xfs(1)/, <tt/xfslsfonts(1)/ bajo <tt/X11R6/) e inténtelo, no es difícil. Digamos que el servidor está funcionando en <tt/un.ordenador.edu/ en el puerto <tt/7100/. Se puede probar la instalación haciendo <tscreen><verb> fslsfonts -server un.ordenador.edu:7100 </verb></tscreen> Para utilizar realmente el servidor lance el comando <tscreen><verb> xset +fp tcp/un.ordenador.edu:7100 </verb></tscreen> que debería devolver un mensaje de error. <sect>Cómo conseguir la fuente bdf para algún tipo <p> Si ha instalado un servidor de tipos, simplemente use <tt/fstobdf/, que viene con el servidor de tipos. Como alternativa, puede probar con <tt/getbdf/ que puede volcar cualquier tipo X11 instalado a un fichero. <sect>Anexo: El INSFLUG <label id="Insflug"> <p> El <it/INSFLUG/ forma parte del grupo internacional <it>Linux Documentation Project</it>, encargándose de las traducciones al castellano de los Howtos, así como de la producción de documentos originales en aquellos casos en los que no existe análogo en inglés, centrándose, preferentemente, en documentos breves, como los <em/COMOs/ y <em/PUFs/ (<bf/P/reguntas de <bf/U/so <bf/F/recuente, las <it/FAQs/. <tt/:)/ ), etc. Diríjase a la sede del Insflug para más información al respecto. En élla encontrará siempre las <bf/últimas/ versiones de las traducciones «oficiales»: <tt><htmlurl url="http://www.insflug.org" name="www.insflug.org"></tt>. Asegúrese de comprobar cuál es la última versión disponible en el Insflug antes de bajar un documento de un servidor réplica. Además, cuenta con un sistema interactivo de gestión de fe de erratas y sugerencias en línea, motor de búsqueda específico, y más servicios en los que estamos trabajando incesantemente. Se proporciona también una lista de los servidores réplica (<it/mirror/) del Insflug más cercanos a Vd., e información relativa a otros recursos en castellano. En <tt><htmlurl url="http://www.insflug.org/insflug/creditos.php3" name="http://www.insflug.org/insflug/creditos.php3"></tt> cuenta con una detallada relación de las personas que hacen posible tanto esto como las traducciones. ¡Diríjase a <tt><htmlurl url="http://www.insflug.org/colaboracion/index.php3" name="http://www.insflug.org/colaboracion/index.php3"></tt> si desea unirse a nosotros!. «Cartel» Insflug, <tt><htmlurl url="mailto:cartel@insflug.org" name="cartel@insflug.org"></tt>. </article>