Hola a todos, me confirmo a mi mismo y os envio dos chuletas ;-)

On Fri, Jan 07, 2000 at 12:26:06AM +0100, Manel Marin wrote:
> 
> ���AL FIN HE DESCUBIERTO LO QUE PASA!!! (Me estaba volviendo loco)
> 
> La combinaci�n ALT + SysRq + Tecla  NO FUNCIONA en algunos teclados,

Lo he verificado con cinco teclados, en uno de los cinco no va bien, (y no
 es la tecla que le he apretado fuerte y todas las dem�s teclas van bien)

Os adjunto dos archivos:
"teoria-teclado"
"trucos-cuelgueX"

Espero que os aprovechen... ;-)


> Enviamos un reporte de bug de kernel pidiendo que la tecla MAGIC no pierda su
> uso normal en las consolas (de hecho no lo pierde en las X en modo RAW y no
> pasa nada...)
> De esta forma se podria utilizar cualquier tecla normal para hacer de MAGIC,
> por ejemplo el DEL (DEL + Tecla)
> ...
> - �Que os parece?

Me lo he estado pensando y con opciones tan peligrosas como Umount, Boot, Reboot
 no me parece apropiado que todo principante utilice la tecla MAGIC... aunque
 a mi me parece GENIAL!!!


> - �Como se hace el reporte de bug del kernel? (nunca he hecho ninguno...)

!!!A ver si me contestais leches!!! :-(


Saludos
-- 
--------------------------------
Manel Marin   e-mail: [EMAIL PROTECTED]
Linux Powered (Debian 2.1 slink)
--------------------------------
teoria-teclado: (0.01)
        Breve descripci�n de como funciona el teclado


SCAN CODES:
    Estos son los c�digos que envia el teclado al PC.
    Muchas teclas del teclado generan un byte de datos cuando se pulsan
     y otro cuando se sueltan.
    Tambien generan repetici�n si se mantienen pulsadas.

        Ejemplo tecla ESC

            Al pulsar un codigo: 0x01
            Al soltar un codigo: 0x81  ( es decir 0x01 + 0x80 )
            Genera repetici�n al mantenerla pulsada


    Esto es cierto para muchas teclas excepto para:

        a) Teclas de cursor, Insert, Supr y grupito, teclas windows y otras...

            Al pulsar dos codigos: 0xe0 XXX,
            Al soltar dos codigos: 0xe0 XXX+0x80,
            Generan repetici�n al mantenerlas pulsadas


        b) Tecla "Pause/Break"

            Al pulsar seis codigos: 0xe1 0x1d 0x45 0xe1 0x9d 9xc5
            Al soltar NADA
            NO GENERA repetici�n al mantenerla pulsada


        c) Tecla "PrintScreen/SysRq" ** (De esta tecla hablo m�s abajo)

            ���DEPENDE DEL TECLADO!!!
            ----�----
            Al pulsar cuatro codigos: Oxe0 0x2a 0xe0 0x37
            Al soltar cuatro codigos: 0xe0 0xb7 0xe0 0xaa
            Genera repetici�n al mantenerla pulsada
            ----�----
            Al pulsar ocho codigos: 0xe0 0x2a 0xe0 0x37 0xe0 0xb7 0xe0 0xaa
            Al soltar NADA:
            NO GENERA repetici�n al mantenerla pulsada
            ---------


    Ahora que ya sabes lo que esperas ver, puedes ver estos c�digos usando:
     "showkey -s" (diez segundos sin pulsar nada para salir ;-)


KEYCODES:
    Estos son los c�digos que asigna el kernel a las teclas.
    El kernel asigna un solo c�digo para cualquier tecla cuando se pulsa y
     uno solo cuando se suelta.

        Muchos coinciden con el c�digo SCAN CODE, pero los de dos/m�s bytes NO.
        
        Ejemplos:       SCAN CODE               KEYCODE*
            ESC         0x01                      1
            A           0x1e                     30  ( es 0x1e en hexadecimal )
            Menu_Win    0x7F                    127
            Insert      0xe0 0x52               110
            SysRq       Oxe0 0x2a 0xe0 0x37      99

        * Los KEYCODE los pongo en decimal porque el "showkey" los muestra asi.

    Ahora que ya sabes lo que esperas ver, puedes ver estos c�digos usando:
     "showkey" � "showkey -k" (diez segundos sin pulsar nada para salir ;-)


SYSRQ:
    De cinco teclados que he probado uno solo generaba los ocho bytes al pulsar
     y ninguno al soltar.

    Obviamente este teclado no puede generar secuencias SysRq + Tecla, o
     ALT + SysRq + Tecla porque la secuencia que genera al pulsar SYSRQ es la
     de "pulsar + soltar" por lo que no funciona para hacer de MAGIC SYSRQ


    Este teclado era:
        Made in Malaysia
        Part No K5400408512
        Model No LT-5000A SPN102
        Serial No 90104AM03617
        ( lo siento no se el fabricante...)

    Los otros teclados empleados en las pruebas eran:
        Cherry, IBM, un Windows "made in China", y otro cl�nico.
trucos-cuelgueX: (0.04)
        Como descolgar las X sin apagar la maquina ;-)


Para poder salir del modo RAW en que deja las X el teclado cuando se cuelgan
hay que recompilar el kernel (solo 2.2.X) activando la "Magic SysRq key"

ATENCION: La tecla MAGIC tiene opciones potencialmente peligrosas si no se
 sabe lo que se esta haciendo, aunque es tremendamente util cuando se sabe ;-)
    Ejemplo: Umount, Boot, Off, hacen lo que parece e inmediatamente y sin pedir
        confirmaci�n...


-----------
1) Modificar en /usr/src/linux/include/asm/keyboard.h la linea

#define SYSRQ_KEY 0x54          /* Para usar ALT + SysRq + R */

    por:


#define SYSRQ_KEY 0x7F          /* Teclado Win Tecla_Menu + R */
#define SYSRQ_KEY 0x7E          /* Teclado Win Tecla_Win_Der + R */
#define SYSRQ_KEY 0x7D          /* Teclado Win Tecla_Win_Izq + R */

#define SYSRQ_KEY 0x4a          /* Para usar "-"(Numerico) + R */
                /* es una buena alternativa si no tienes teclas inutiles ;-) */
                                

#define SYSRQ_KEY 0x63          /* Para usar SysRq (sin shift) + R */
                                /* esta combinaci�n permite hacer ALT + SysRq */


MOTIVO1: La combinaci�n ALT + SysRq + Tecla  NO FUNCIONA en algunos teclados,
 Leer mi chuleta "teoria-teclado"

MOTIVO2: La combinaci�n ALT + SysRq + Tecla  es incomoda
 (prueba a hacer un cierre ordenado con ALT(izq) + SysRq + E, I, S, U, O)

MOTIVO3: La combinaci�n ALT + SysRq permite volver a la VC (consola virtual)
 anterior y cuando se asigna como tecla m�gica esto deja de funcionar

!!!!(ESTO LO ESTOY COMPROBANDO...)!!!!
MOTIVO4: En el kernel 2.2.13 la combinaci�n ALT + SysRq + Tecla  , a veces, de
 cuando en cuando, "se encasquilla" y no va...
    Parece que asignando una sola tecla, de las que generan un solo SCAN CODE
 (lee mi chuleta "teoria-teclado") esto no pasa...
 

COMO SABER EL CODIGO PARA ELEGIR OTRA TECLA DIFERENTE:
        "showkey" (10 segundos sin pulsar nada para salir)
    Atencion: Los codigos que da showkey son n�meros decimales y hay que
     traducirlos a hexadecimal (SysRq da 99 que es 0x63)

    ATENCION: La tecla que se utilice como MAGIC deja de funcionar en las
     consolas virtuales, aunque sigue funcionando en las X

    NOTA: linux/Documentation/sysrq.txt esta equivocado, dice "showkey -s",
     esos son los codigos que genera el teclado realmente y no los que
     genera el kernel a partir de ellos, y no son lo mismo, aunque coinciden
     para muchas teclas...
     (mirar "man showkey" y mi chuleta "teoria-teclado" para mas info...)

-----------
2) Recompilar el kernel (2.2.13) activando la opci�n:
        Kernel hacking ->  Magic SysRq key

-----------
3) Instalar la imagen, ejecutar lilo, y reiniciar el S.O.

-----------
4) Ahora con MAGIC + R puedes salir del modo raw (se muestra la "r" pero las
  teclas siguientes ya van a las consolas), y hacer ALT+F1...

----------
Por cierto hay mas "teclas magicas":
        sa[K]   # Mata todos los procesos del terminal virtual,
                #  en consolas va bien...
#### BUSCANDO SOLUCION ####
                # Sobre X hace un reinicio si se usa wdm (xdm...) (bien;-)
                #  pero en algunos servidores X deja las consolas no operativas
                #  (registros de la VGA mal programados) estais avisados...

        t[E]rm, k[I]ll                  # Todos los procesos menos init
        [S]ync, [U]mount, [B]oot        # Para cierre cuando hay problemas 
graves

MAGIC+A (Ayuda) o MAGIC+H (Help) te da la lista de "teclas magicas" (solo desde
    una consola virtual, y no desde las X)
 Bueno esto lo hace, en general, cualquier tecla que no corresponda a una
    tecla ya asignada, pero teniendo opciones como:
        Off (apagado total inmediato)
        Boot (reinicio total e inmediato)
    es preferible asociar mentalmente "Ayuda" a la A para evitar desastres ;-)


-----------
APAGADO ORDENADO EN CUELGUE TOTAL (consolas no operativas):

1) Pulsar (dando tiempo a que reporten/hagan efecto) una detras de otra la
    secuencia:

        MAGIC + E , MAGIC + I, MAGIC + S, MAGIC + U, MAGIC + O

    - Se puede cambiar el ultimo "MAGIC + O" por "MAGIC + B" para reboot


MOTIVO:
    Este truco te evitar� inconsistencias en el sistema de archivos, y el
     chequeo de sistema de archivos en el pr�ximo arranque por no cerrar el
     sistema apropiadamente ;-)


----------
MAS AYUDA:
    con los fuentes del kernel 2.2.X en linux/Documentation/sysrq.txt
    mi chuleta "teoria-teclado"


----------
AGRADECIMIENTOS:
    Agradezco a todos las personas de la lista de correo debian-user-spanish
     la ayuda, puntualizaciones y observaciones que me han dado.

Responder a