• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Saco

Iniciação ao GTK

1 mensagem neste tópico

Ora bem, tou agora a dar os meus primeiros passos e ando a fazer pequenas mariquisses só para me ambientar no GTK.

Fim um programa que de cada vez que se carrega numa tecla ele escreve na consola o código da tecla que foi carregada.

Agora queria fazer uma coisa um bocado mais complicada que é o programa detectar as teclas que foram carregadas mesmo sem estar a janela activa. Mas não estou a ver como.

Neste momento tenho isto assim:

#include <gtk/gtk.h>

static gboolean tecla( GtkWidget *widget,
	   GdkEventKey *event,
                   gpointer   data )
{

    gchar c = (gchar) (*event).keyval;
    g_print ("Tecla pressionada: %u\n", c);

    return TRUE;
}

int main( int   argc,
          char *argv[] )
{
    GtkWidget *janela;
    
    gtk_init (&argc, &argv);

    janela = gtk_window_new (GTK_WINDOW_TOPLEVEL);

    g_signal_connect (G_OBJECT (janela), 
	      "key_press_event",
	      G_CALLBACK (tecla), 
                      NULL);
    
    gtk_widget_show (janela);
    
    gtk_main ();
    
    return 0;
}

Suponho que seja preciso alterar qualquer coisa no primeiro argumento do g_signal_connect, mas não sei como.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora