n° 219
Novembre 2017
Maggio 21, 2018, 10:50:14 *
Benvenuto! Accedi o registrati.
Hai dimenticato l'e-mail di attivazione?

Accesso con nome utente, password e durata della sessione
Notizia:
 
   Indice   Linux Windows Techassistance Gameassistance videogame hardware Aiuto Ricerca Agenda Downloads Accedi Registrati  


* Messaggi recenti
Messaggi recenti
Pagine: [1]   Vai giù
  Stampa  
Autore Discussione: Gestire SIGINT  (Letto 1010 volte)
0 utenti e 1 Utente non registrato stanno visualizzando questa discussione.
clros
Jr. Member
**

Karma: +1/-16
Scollegato Scollegato

Messaggi: 243


Mostra profilo
« inserita:: Gennaio 24, 2018, 06:48:09 »

Ciao a tutti,

sto realizzando un programma per una scheda embedded (Beaglebone) sotto Linux Debian.

Poiché mi piaceva l'idea di usare un minimo di GUI, ho optato per l'uso della libreria TurboVision di Borland, per avere un ambiente TUI che si può usare anche da terminale remoto.

Il tutto funzione bene.

Adesso mi trovo nella situazione in cui vorrei adattare l'editor testuale fornito con la libreria (e realizzato da un programmatore italiano) in modo da usare i canonici tasti CRTL-C, CTRL-X e CTRL-V per le operazioni di editing.
L'operazione di copia è gestita dalle classi interne di TVision, e io posso solo indicare quale combinazione di tasti attiva tale funzionalità.

Ho incontrato difficoltà con il CTRL-C perché...l'uso di tale combinazione non fa altro che uscire dal programma senza che tale combinazione possa essere gestita dal programma.

Mi chiedo se esiste un modo per intercettare tale combinazione di tasti (e questo è sicuramente possibile con la funzione signal() ) per poi "non consumarla" e farla arrivare al mio programma in modo che la gestisca diversamente (per l'operazione di copia).
Registrato

michele.p
Administrator
Sr. Member
*****

Karma: +11/-2
Scollegato Scollegato

Messaggi: 648


Mostra profilo
« Risposta #1 inserita:: Gennaio 31, 2018, 04:55:51 »

Qui hai un piccolo panorama sullo schema di base:

http://www.yolinux.com/TUTORIALS/C++Signals.html

Quello che non mi è chiaro è se vuoi che il Ctrl-C venga catturato come sigint o cosa.
In più, poiché stai realizzando una GUI, potresti sempre dissociare il Ctrl-C dall'uscita del programma.
Registrato
clros
Jr. Member
**

Karma: +1/-16
Scollegato Scollegato

Messaggi: 243


Mostra profilo
« Risposta #2 inserita:: Febbraio 14, 2018, 11:55:04 »

Ciao, mi accorgo solo adesso della tu risposta; grazie.

Controllerò il link che mi hai suggerito.


Quello che vorrei fare è catturare il CTRL-C *NON* come SIGINT, ma come una normale combinazione di tasti da gestire in maniera differente da come si gestiscono i segnali; mi sembra di capire che premendo CTRL_C automaticamente venga generato (Sollevato?) un SIGINT ed è questo che vorrei evitare, ammesso che sia possibile farlo.

La "GUI" in realtà è una "TUI", si tratta della vecchia TurboVision di Borland i cui sorgenti sono stati sistemati da un programmatore italiano (Sergio Sigala) e che ho rimaneggiato per poterli compilare su una scheda Beaglebone (ARM) sotto Linux.
Registrato

Pagine: [1]   Vai su
  Stampa  
 
Vai a:  

Copyright © 2017 Edizioni Master SpA. p.iva : 02105820787

Tutti i diritti di proprietà letteraria e artistica riservati. - Privacy



powered by Simple Machines