# [HOWTO] Acer TravelMate: Teclas especiales

## ResetReboot

Buenas gente, hace poco logré hacer funcionar mis teclas especiales de mi Acer TravelMate 243LC, y os diré cómo, ya que tiene truco:

Teclas especiales en portátiles Acer TravelMate

Paso 1:

Para empezar, si usamos xev, veremos que las teclas plateadas de la parte superior y muchas de la combinación Fn+* no funcionan (sólo las de volumen) y otras funcionan por hardware (las de control de brillo del led, de cambio de salida de video, desconexión de la luz de la LCD y la tecla de suspender). Para lograr que todas estas teclas puedan ser útiles, sólo hay que hacer el siguiente comando como root:

```
emerge acerhk
```

Con esto conseguimos un módulo de kernel que al ser debidamente cargado hará que las teclas extras comiencen a emitir keycodes.

Nota: para no tener que cargar manualmente el módulo, ve a /etc/modules.autoload/kernel-2.x (donde x es tu versión del kernel) y añade al final acerhk.

Paso 2:

Instalaremos lineakd con este comando como root:

```
emerge lineakd
```

Esto es el daemon que permitirá lanzar cosas como el gestor de correo con el botón del sobre.

Añadiremos esto al final del archivo /etc/lineakkb.def:

```
# Needs acerhk module: http://www.informatik.hu-berlin.de/~tauber/acerhk/

[ACERT243LC]

  brandname = "ACER"

  modelname = "243LC"

  [KEYS]

    Internet      = 236

    Mail      = 178

    P1         = 159

    P2         = 151

    WifiOn|WifiOff   = 147

    FnF1      = 245

    FnF2      = 129

    FnF3      = 222

    VolumeDown      = 174

    VolumeUp      = 176

    Mute                = 160

  [END KEYS]

[END 243LC]

```

Nota:Esta configuración es la de mi TravelMate 243LC, para saber cómo crear uno propio ve a http://lineak.sourceforge.net/index.php?nav=showdoc&docid=LinEAK_support_HOWTO&doctitle=Keyboard%20support%20HOWTO

Ya sólo resta hacer como usuario normal:

```
lineakd -c NOMBRE_TECLADO_QUE_HEMOS_CREADO
```

Configurar $HOME/.lineak/lineak.conf para que cada tecla haga lo que queramos y por ultimo:

```
lineakd &
```

y ya lo tendremos funcionando. Para que arranque automáticamente, consultad el manual de vuestro WM.

Un saludo.

----------

## focahclero

Se te ha colado una pequeña errata  :Wink: :

en el paso 2 dices 

```
emerge -p lineakd
```

para instalar... pero con -p no instalas, sólo simulas la instalación.

Saludos,

----------

## ResetReboot

Gracias, ya está corregido. Y parece que otro ha seguido mis pasos con este howto  :Very Happy: 

----------

## dr_cerebro

Podrias explicarme (paso a paso), como hago para agregar al final de la linea de /etc/..../kernel-2.x.xx/acerhk ?

lo hago con un comando en especial, o como ?

Con modprobe acerhk no funciona ?

Llevo una semana en Linux, paso a paso por favor.

Gracias

----------

## mad93

No, se refiere a abrir ese archivo (editarlo) y añadir una linea donde ponga acerhk. Rollo lo que pongo ahora:

acerhk

El archivo a usar es kernel-2.4 o kernel-2.6. Si no sabes qual usas escribe en la consola "uname -a" y te lo dirá.

----------

## Noss

Hola!

pues a mi me da este error al emerger

```

emerge acerhk

!!! Invalid PORTDIR_OVERLAY (not a dir): '/usr/local/portage/xeffects/trunk'

Calculating dependencies /

!!! All ebuilds that could satisfy "acerhk" have been masked.

!!! One of the following masked packages is required to complete your request:

- app-laptop/acerhk-0.5.35 (masked by: missing keyword)

For more information, see MASKED PACKAGES section in the emerge man page or

refer to the Gentoo Handbook.

```

Aasí que edito el /etc/portage/package.keywords y añado

```

>=app-laptop/acerhk-0.5.35 **

```

Ahora si lo intenta emerger pero me da este error

```

2: warning: cast from pointer to integer of different size

{standard input}: Assembler messages:

{standard input}:16: Error: `pusha' is not supported in 64-bit mode

{standard input}:24: Error: suffix or operands invalid for `push'

{standard input}:27: Error: suffix or operands invalid for `pop'

{standard input}:34: Error: `popa' is not supported in 64-bit mode

{standard input}:4107: Error: `pusha' is not supported in 64-bit mode

{standard input}:4115: Error: suffix or operands invalid for `push'

{standard input}:4117: Error: suffix or operands invalid for `pop'

{standard input}:4124: Error: `popa' is not supported in 64-bit mode

make[2]: *** [/var/tmp/portage/portage/app-laptop/acerhk-0.5.35/work/acerhk-0.5.35/acerhk.o] Error 1

make[1]: *** [_module_/var/tmp/portage/portage/app-laptop/acerhk-0.5.35/work/acerhk-0.5.35] Error 2

make[1]: Leaving directory `/usr/src/linux-2.6.22-gentoo-r5'

make: *** [acerhk.ko] Error 2

 *

 * ERROR: app-laptop/acerhk-0.5.35 failed.

 * Call stack:

 *   ebuild.sh, line 1654:   Called dyn_compile

 *   ebuild.sh, line 990:   Called qa_call 'src_compile'

 *   ebuild.sh, line 44:   Called src_compile

 *   ebuild.sh, line 1334:   Called linux-mod_src_compile

 *   linux-mod.eclass, line 516:   Called die

 *

 * Unable to make  KERNELSRC=/usr/src/linux KERNELVERSION=2.6.22-gentoo-r5 all.

 * If you need support, post the topmost build error, and the call stack if relevant.

 * A complete build log is located at '/var/tmp/portage/portage/app-laptop/acerhk-0.5.35/temp/build.log'.

```

Alguno tiene idea de qué sucede? un saludo y gracias por el tutyo, por cierto mi portatil es un acer aspire5634

----------

## i92guboj

```

2: warning: cast from pointer to integer of different size

{standard input}: Assembler messages:

{standard input}:16: Error: `pusha' is not supported in 64-bit mode

{standard input}:24: Error: suffix or operands invalid for `push'

{standard input}:27: Error: suffix or operands invalid for `pop'

{standard input}:34: Error: `popa' is not supported in 64-bit mode

{standard input}:4107: Error: `pusha' is not supported in 64-bit mode

{standard input}:4115: Error: suffix or operands invalid for `push'

{standard input}:4117: Error: suffix or operands invalid for `pop'

{standard input}:4124: Error: `popa' is not supported in 64-bit mode

make[2]: *** [/var/tmp/portage/portage/app-laptop/acerhk-0.5.35/work/acerhk-0.5.35/acerhk.o] Error 1

make[1]: *** [_module_/var/tmp/portage/portage/app-laptop/acerhk-0.5.35/work/acerhk-0.5.35] Error 2

make[1]: Leaving directory `/usr/src/linux-2.6.22-gentoo-r5'

make: *** [acerhk.ko] Error 2

```

Si. Esto significa textualmente "tu cpu no soporta estas instrucciones en lenguaje ensamblador". Que traducido al castellano quiere decir que tu hardware jamás podrá ejecutar ese programa, ni compilarlo, porque tu compilador tampoco puede producir el código objeto equivalente para esa arquitectura.

¿Esto es un programa o un driver? Te pregunto porque, si es un programa normal y corriente, es posible que puedas ejecutarlo (siempre que tu entorno sea multilib) si descargas un binario precompilado para 32 bits x86. Por supuesto, no puedo garantizar que funcione, pero bueno, por probar...

----------

