Newsgroup: it.comp.os.linux.development
Titolo: programma con interfaccia su console

salve a tutti
sto iniziando a progettare un programma (per il midi) che e' basato su
console (su una 80x50 framebuffer, in futuro vorrei anche usare un font
custom).
che librerie mi consigliate per l'output grafico e l'input da tastiera?
per l'output grafico credo che ncurses vada bene... o e' stata superata da
qualcosaltro?
per l'input da tastiera non ho idea. io vorrei gestire, oltre ai normali
tasti, anche le combinazioni:
CTRL+C ... CTRL+X ... CTRL+F1
ALT+D ... ALT+1
SHIFT+INS ... SHIFT+CANC ... SHIFT+freccia
CTRL+ALT+...  eccetera
ho visto un programma che usava S-Lang per l'input.
riusciva a gestire i vari CTRL+[:alpha:], ma non gestiva ad esempio
SHIIFT+LEFT.
posso usare qualcosaltro?

 CTRL+ALT+...  eccetera
non č che forse al posto di combo da 4 tasti sarebbe meglio studiare un
po' di piů l'interfaccia utente del programma? :-)

 po' di più l'interfaccia utente del programma? :-)
no. l'interfaccia gia' e' al massimo della sua ottimizzazione.
proprio per la tipologia di programma servono delle combinazioni rapide di
tasti
(i tasti singoli li ho esauriti gia' da un pezzo) :-)
per le azioni meno frequenti ho inserito un interprete comandi (come il vi:
':w', ':set ...', ecc...) ma per molte altre cose serve una combinazione di
tasti SINGOLA.
in S-Lang riesco a gestire colo i vari CTRL+LETTERA
ciao
Federico

> ncurses o slang
Dato una occhiata alle routine dei readline() della GNU o al codice
di Emacs ?
 /\            ___
/___/\__|_|\_|__|___Gian Uberto Lauri_____________________
  //--\ | | \|  |   Integralista GNUslamico e fancazzista 
\/

 di Emacs ?
ma readline() non serve ad avere un prompt come quello di bash o di vi?
questa funzione l'ho gia' implementata (a mano).
io vorrei solo gestire una combinazione Alt-X, Ctrl-X o Shift-X
ho cercato in google per un esempio di questo tipo ma non ho trovato
niente...

> di Emacs ?
::,> ma readline() non serve ad avere un prompt come quello di bash o
::,> di vi?  questa funzione l'ho gia' implementata (a mano).
Male averla implementata a mano e male non averla vista.
Emace  e`   famoso  per  i  comandi  basati   sulla  pressione  (anche
contemporanea) di Shift, Control e Meta (anche di Hyper e Super ma non
so  se  readline()  li  supporta   :)  )  e  readline  ne  duplica  il
comportamento. Dai un occhio al codice ripeto...


 comportamento. Dai un occhio al codice ripeto...
ho scaricato la documentazione di GNU.readline() ma e' troppo... troppo!
non c'e' un pezzo di codice a mo di esempio dove posso trovare semplicemente
quello che mi serve?
cmq credo che pure conoscendo il codice necessario sara' difficile
integrarlo nel mio programma che usa S-Lang (SLkp_getkey()) per ricevere
l'input...
mi sa che mi devo rassegnare ai vari CTRL+[:alpha:]

> Emace e` famoso per i comandi basati sulla pressione (anche
::,> pensa che io (non ti offendere, so che sei un estremista anche di
::,> EmacS) emacs non l'ho mai voluto imparare,
No, semplicemente e` il mio strumento di lavoro principale e sono
un umile predicatore Emacsita. :)
::,> mi ha sempre spaventato,
Non  ti devi  far  spaventare. Probabilmente  c'e`  l'errore di  voler
imparare tutto  di tutto subito. Ci  sono voluti 30  anni per arrivare
alla versione attuale, datti tempo per impararlo.
Comunque dovrei mettere in piedi del materiale per una serata al Pluto
PD, che poi dovrebbe andare in rete.
::,> dove posso trovare semplicemente quello che mi serve?
bash ?


 CTRL+ALT+...  eccetera
Sempre ncurses. In particolare vedi:
curs_getch
curs_inopts
Luca
-- 
Home: 
http://kronoz.cjb.net
#include <stdio.h> 
int main(void) {printf("\t\t\b\b\b\b\b\b");
printf("\t\t\b\b\b\b\b\b");return 0;}