Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: pomada_de_la_campana en 27 Agosto 2015, 01:24 am



Título: Como simulo en c o c++ la presion de una tecla en linux?
Publicado por: pomada_de_la_campana en 27 Agosto 2015, 01:24 am
Hola este es mi primer post.

Quiero simular la presión de una tecla en Linux y no sé hacerlo.

Ya he visto como se hace en Windows, pero ahora quiero hacerlo en Linux.

Antes he intentado escribir directamente sobre el STDIN pero no me funciono.

No sé si en Linux es posible como en windows, pero si lo es me gustaría aprender.


Título: Re: Como simulo en c o c++ la presion de una tecla en linux?
Publicado por: engel lex en 27 Agosto 2015, 06:40 am
en linux no es tan simple como en windows, lo advierto... necesitarás instalar alguna que otra librería

primero instalate
Código:
sudo apt-get install libxdo-dev libxdo2

esta es lla librería xdotool

con eso ya deberías poder usar el xdotool desde c++ o incluso hasta bash para simular pulso o movimiento del mouse


un codígo de elemplo sería
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <xdo.h>
  4. #include <unistd.h>
  5. int main() {
  6.    xdo_t * x = xdo_new(":0.0");
  7.    sleep(5);
  8.    printf("Presionando A\n");
  9.    xdo_keysequence(x, CURRENTWINDOW, "A", 0);
  10.  
  11.        return 0;
  12. }

y lo compilas con la orden en el linker
Código:
-lxdo


espero sea util la explicación


Título: Re: Como simulo en c o c++ la presion de una tecla en linux?
Publicado por: pomada_de_la_campana en 30 Agosto 2015, 09:21 am
Gracias, esto es lo que estaba buscando.
Ya me puse a leer un poco sobre esta librería y es muy interesante todo lo que se puede hacer.