Re: [programming] keypressed di linux

2000-11-01 Terurut Topik Andy

On Tue, Oct 31, 2000 at 10:49:55AM -0800, Jhonny Yang wrote:
 kbhit adalah sistem dari kernel.tapi jika anda menginginkan kemudahan ...
 yah gunakan adja getch() yang berasal dari curses.
di kernel mana seh
koq aku gak nemu ya..

$ uname -a
Linux gravity 2.2.17 #1 Thu Oct 26 23:01:54 JAVT 2000 i686 unknown
$ pwd
/usr/src/linux

$ find . -name "*.h" | xargs egrep "kbhit"

$

-andy


Utk berhenti langganan, kirim email ke [EMAIL PROTECTED]
Informasi arsip di http://www.linux.or.id/milis.php3
Pengelola dapat dihubungi lewat [EMAIL PROTECTED]




Re: [programming] keypressed di linux

2000-11-01 Terurut Topik Jhonny Yang

hehehe ... ternyata setelah selidik punya selidik ... fungsi kbhit itu
fungsi saya ... mohon maaf
- Original Message -
From: "Benny Prijono" [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Monday, October 30, 2000 3:39 AM
Subject: Re: [programming] keypressed di linux


 Jhonny Yang wrote:
 
  kbhit itu adalah perintah system kernel

 ngaco ah!.. :-)
 setahu saya nggak ada system call yg. namanya kbhit(). Di glibc pun
 juga tidak ada.

 cheers,
 Bennylp

 --
--
 Utk berhenti langganan, kirim email ke
[EMAIL PROTECTED]
 Informasi arsip di http://www.linux.or.id/milis.php3
 Pengelola dapat dihubungi lewat [EMAIL PROTECTED]




Utk berhenti langganan, kirim email ke [EMAIL PROTECTED]
Informasi arsip di http://www.linux.or.id/milis.php3
Pengelola dapat dihubungi lewat [EMAIL PROTECTED]




Re: [programming] keypressed di linux

2000-11-01 Terurut Topik Steven Haryanto

At 08:35 03/11/2000, Jhonny Yang wrote:
hehehe ... ternyata setelah selidik punya selidik ... fungsi kbhit itu
fungsi saya ... mohon maaf

kalo gitu boleh saya minta source code-nya di-post ke sini?

--
sh



Utk berhenti langganan, kirim email ke [EMAIL PROTECTED]
Informasi arsip di http://www.linux.or.id/milis.php3
Pengelola dapat dihubungi lewat [EMAIL PROTECTED]




Re: [programming] keypressed di linux

2000-11-01 Terurut Topik Agus Budy Wuysang

Steven Haryanto wrote:
 
 At 08:35 03/11/2000, Jhonny Yang wrote:
 hehehe ... ternyata setelah selidik punya selidik ... fungsi kbhit itu
 fungsi saya ... mohon maaf
 
 kalo gitu boleh saya minta source code-nya di-post ke sini?

Kalau tidak salah kbhit() ada di Inprise Turbo C = 2.x

-- 
+---| Netscape Communicator 4.x |---| Powered by Linux 2.2.x |---+
|/v\ Agus Budy Wuysang   MIS Department  |
| |  Phone:  +62-21-344-1316 ext 317 GSM: +62-816-1972-051   |
+| http://www.rad.net.id/users/personal/s/supes |+


Utk berhenti langganan, kirim email ke [EMAIL PROTECTED]
Informasi arsip di http://www.linux.or.id/milis.php3
Pengelola dapat dihubungi lewat [EMAIL PROTECTED]




Re: [programming] keypressed di linux

2000-11-01 Terurut Topik Steven Haryanto

At 09:27 02/11/2000, you wrote:
Steven Haryanto wrote:
 
  At 08:35 03/11/2000, Jhonny Yang wrote:
  hehehe ... ternyata setelah selidik punya selidik ... fungsi kbhit itu
  fungsi saya ... mohon maaf
 
  kalo gitu boleh saya minta source code-nya di-post ke sini?

Kalau tidak salah kbhit() ada di Inprise Turbo C = 2.x

saya [kurang lebih] tahu itu (pernah pake TC1.0, TC2.0  TC++ 1.0 --
dan, kalo ngga salah, bukannya TC cuma sampe 2.0?). hanya saja,
pernyataan "fungsi itu fungsi saya" bikin gatel... :-)

--
sh



Utk berhenti langganan, kirim email ke [EMAIL PROTECTED]
Informasi arsip di http://www.linux.or.id/milis.php3
Pengelola dapat dihubungi lewat [EMAIL PROTECTED]




Re: [programming] keypressed di linux

2000-10-30 Terurut Topik Benny Prijono

"P.Y. Adi Prasaja" wrote:
 
 On Mon, Oct 30, 2000 at 09:58:50AM +0700, Steven Haryanto wrote:
  yang diinginkan di sini adalah yang nonblocking (yaitu
  seperti kbhit() di DOS/conio.h atau KeyPressed() di Pascal,
  atau INKEY$ di BASIC).
 
 
 Bukan non-blocking, kalau dibikin non-blocking malah nggak jalan,
 krn. selalu menghasilkan return value :-)
 

no no, yg. diinginkan adalah non-blocking.
int kbhit() = non-blocking, mengembalikan true kalau ada
  karakter di keyboard buffer, false/zero kalau tidak
  ada karakter.
int getch() = blocking, mengembalikan karakter pertama yg ada di
  buffer input, blocking kalau tidak ada karakter.

btw, kembali ke masalah asal, IMO solusi kbhit() kayaknya kok nggak
terlalu bagus. Nanti ujung-ujungnya pasti memakai busy-loop, yg.
memakan resource CPU. Dan jangan lupa, kalau kita ngambil karakter
satu-satu, berarti program kita harus menangani penekanan tombol2
khusus seperti backspace, ENTER (dan arrow dan del juga kalau mau
canggih).

-- 
cheers,
Bennylp


Utk berhenti langganan, kirim email ke [EMAIL PROTECTED]
Informasi arsip di http://www.linux.or.id/milis.php3
Pengelola dapat dihubungi lewat [EMAIL PROTECTED]




Re: [programming] keypressed di linux

2000-10-29 Terurut Topik P.Y. Adi Prasaja

On Sat, Oct 28, 2000 at 08:55:55PM +0700, Priyadi Iman Nurcahyo wrote:
 On Sun, 29 Oct 2000, Jhonny Yang wrote:
 
  gunaiin sintaks dibawah ini coba
  
  while (!kbhit())ch=getch();
  
  semoga berhasil yah ...
  
  ato kalo memang tidak menginginkan hasil dari key gunaiin adja
  
  while (!kbhit())
  
  mengenai include apa kamu cari sendiri yah ... muac
 
 ini apa udah pernah dicoba sebelumnya? saya cari kbhit ngga ada tuh

Ya kalau nggak ada dibuat sendiri lah .. :-)
Kalau cuman spt. di atas maunya, bisa pakai ncurses, pakai getch()
saja sudah cukup, misalnya:

$ cat kbhit.c

/* jangan lupa link ke library (n)curses: cc ... -lcurses */

#include stdio.h
#include curses.h

#define kbhit getch /* he...he... */

int main()
{
   initscr();
   noecho();
   keypad(stdscr,TRUE);
   curs_set(0);
   move(23,0);
   printw("Press any key to continue ...");
   kbhit(); /* gnu kbhit() :-) */
   erase();
   refresh();
   curs_set(1);
   endwin();
}

:-P

Salam,

P.Y. Adi Prasaja


Utk berhenti langganan, kirim email ke [EMAIL PROTECTED]
Informasi arsip di http://www.linux.or.id/milis.php3
Pengelola dapat dihubungi lewat [EMAIL PROTECTED]




Re: [programming] keypressed di linux

2000-10-29 Terurut Topik Steven Haryanto

At 08:58 30/10/2000, you wrote:
Ya kalau nggak ada dibuat sendiri lah .. :-)
Kalau cuman spt. di atas maunya, bisa pakai ncurses, pakai getch()
saja sudah cukup, misalnya:

$ cat kbhit.c

/* jangan lupa link ke library (n)curses: cc ... -lcurses */

#include stdio.h
#include curses.h

#define kbhit getch /* he...he... */

yang diinginkan di sini adalah yang nonblocking (yaitu
seperti kbhit() di DOS/conio.h atau KeyPressed() di Pascal,
atau INKEY$ di BASIC).

sepertinya ini sudah pernah dibahas di tempat lain (termasuk
juga di id-linux! :-). lihat:

  http://www.control.auc.dk/~jnn/c2000/programs/mm5/keyboardhit/msg02541.html
  http://vlsm.org/linux-archive/i6/msg00414.html

--
sh



Utk berhenti langganan, kirim email ke [EMAIL PROTECTED]
Informasi arsip di http://www.linux.or.id/milis.php3
Pengelola dapat dihubungi lewat [EMAIL PROTECTED]




Re: [programming] keypressed di linux

2000-10-29 Terurut Topik P.Y. Adi Prasaja

On Mon, Oct 30, 2000 at 09:58:50AM +0700, Steven Haryanto wrote:
 yang diinginkan di sini adalah yang nonblocking (yaitu
 seperti kbhit() di DOS/conio.h atau KeyPressed() di Pascal,
 atau INKEY$ di BASIC).
 
 sepertinya ini sudah pernah dibahas di tempat lain (termasuk
 juga di id-linux! :-).

Bukan non-blocking, kalau dibikin non-blocking malah nggak jalan,
krn. selalu menghasilkan return value :-)

IMHO yang diinginkan adalah no buffering (input 1 char tanpa menunggu
'\n'), bisa diakali dengan fungsi cbreak() di ncurses tapi, karena
contoh saya pakai getch() yang notabene juga nggak pakai buffer, jadi
cbreak(), dalam hal ini, tidak diperlukan.

Note: getc()  getch() :-)

Salam,

P.Y. Adi Prasaja


Utk berhenti langganan, kirim email ke [EMAIL PROTECTED]
Informasi arsip di http://www.linux.or.id/milis.php3
Pengelola dapat dihubungi lewat [EMAIL PROTECTED]




Re: [programming] keypressed di linux

2000-10-29 Terurut Topik Jhonny Yang

kbhit adalah sistem dari kernel.tapi jika anda menginginkan kemudahan ...
yah gunakan adja getch() yang berasal dari curses.
- Original Message -
From: "Priyadi Iman Nurcahyo" [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Saturday, October 28, 2000 5:55 AM
Subject: Re: [programming] keypressed di linux


 On Sun, 29 Oct 2000, Jhonny Yang wrote:

  gunaiin sintaks dibawah ini coba
 
  while (!kbhit())ch=getch();
 
  semoga berhasil yah ...
 
  ato kalo memang tidak menginginkan hasil dari key gunaiin adja
 
  while (!kbhit())
 
  mengenai include apa kamu cari sendiri yah ... muac

 ini apa udah pernah dicoba sebelumnya? saya cari kbhit ngga ada tuh

 --
--
 Utk berhenti langganan, kirim email ke
[EMAIL PROTECTED]
 Informasi arsip di http://www.linux.or.id/milis.php3
 Pengelola dapat dihubungi lewat [EMAIL PROTECTED]




Utk berhenti langganan, kirim email ke [EMAIL PROTECTED]
Informasi arsip di http://www.linux.or.id/milis.php3
Pengelola dapat dihubungi lewat [EMAIL PROTECTED]




Re: [programming] keypressed di linux

2000-10-29 Terurut Topik Jhonny Yang

kbhit itu adalah perintah system kernel
- Original Message -
From: "Ikhlasul Amal" [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Friday, October 27, 2000 11:30 PM
Subject: Re: [programming] keypressed di linux


 On Sun, Oct 29, 2000 at 12:50:21PM -0800, Jhonny Yang wrote (probably
 edited):
 % gunaiin sintaks dibawah ini coba
 %
 % while (!kbhit())ch=getch();
 %
 % semoga berhasil yah ...
 ---end quoted text---

 kbhit() ?
 Mana ada di glibc? :)

 --
 amal
 [EMAIL PROTECTED]
 ---
 On April 11, 1970, the Apollo 13 spacecraft lifted off into space,
 carrying three astronauts: Jim Lovell, John Swigert, and Fred Haise.
 -- www.space.com, April 2000 Space Facts

 --
--
 Utk berhenti langganan, kirim email ke
[EMAIL PROTECTED]
 Informasi arsip di http://www.linux.or.id/milis.php3
 Pengelola dapat dihubungi lewat [EMAIL PROTECTED]




Utk berhenti langganan, kirim email ke [EMAIL PROTECTED]
Informasi arsip di http://www.linux.or.id/milis.php3
Pengelola dapat dihubungi lewat [EMAIL PROTECTED]




Re: [programming] keypressed di linux

2000-10-29 Terurut Topik Ronny Haryanto

On 31-Oct-2000, Jhonny Yang wrote:
 kbhit adalah sistem dari kernel.tapi jika anda menginginkan kemudahan ...

"kernel" mana? kenapa kok dibilang "menginginkan kemudahan", apakah
kbhit() sulit digunakan?

Ronny


Utk berhenti langganan, kirim email ke [EMAIL PROTECTED]
Informasi arsip di http://www.linux.or.id/milis.php3
Pengelola dapat dihubungi lewat [EMAIL PROTECTED]




Re: [programming] keypressed di linux

2000-10-28 Terurut Topik Jhonny Yang

gunaiin sintaks dibawah ini coba

while (!kbhit())ch=getch();

semoga berhasil yah ...

ato kalo memang tidak menginginkan hasil dari key gunaiin adja

while (!kbhit())

mengenai include apa kamu cari sendiri yah ... muac

- Original Message -
From: "Benny Prijono" [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Thursday, October 26, 2000 2:19 AM
Subject: Re: [programming] keypressed di linux


 Denni Pidono wrote:
 
  saya juga ingin bertanya bagemana caranya membuat program socket
  programming untuk client, dimana client tersebut bisa menginputkan
kalimat,
  dan sambil menunggu inputan user, client bisa menerima message dari
server.
 

 bisa pake select(), masukkan handle socket dan handle nol (stdin) ke
 fd_set untuk read. Atau bisa juga pake multithread, thread yg. satu
 menunggu user input, thread yg. lain membaca keyboard.

 tapi cara di atas cumak bisa kalau user menekan tombol ENTER setelah
 menginput kalimat.

 --
 cheers,
 Bennylp

 --
--
 Utk berhenti langganan, kirim email ke
[EMAIL PROTECTED]
 Informasi arsip di http://www.linux.or.id/milis.php3
 Pengelola dapat dihubungi lewat [EMAIL PROTECTED]




Utk berhenti langganan, kirim email ke [EMAIL PROTECTED]
Informasi arsip di http://www.linux.or.id/milis.php3
Pengelola dapat dihubungi lewat [EMAIL PROTECTED]




Re: [programming] keypressed di linux

2000-10-28 Terurut Topik Priyadi Iman Nurcahyo

On Sun, 29 Oct 2000, Jhonny Yang wrote:

 gunaiin sintaks dibawah ini coba
 
 while (!kbhit())ch=getch();
 
 semoga berhasil yah ...
 
 ato kalo memang tidak menginginkan hasil dari key gunaiin adja
 
 while (!kbhit())
 
 mengenai include apa kamu cari sendiri yah ... muac

ini apa udah pernah dicoba sebelumnya? saya cari kbhit ngga ada tuh


Utk berhenti langganan, kirim email ke [EMAIL PROTECTED]
Informasi arsip di http://www.linux.or.id/milis.php3
Pengelola dapat dihubungi lewat [EMAIL PROTECTED]




Re: [programming] keypressed di linux

2000-10-28 Terurut Topik Ikhlasul Amal

On Sun, Oct 29, 2000 at 12:50:21PM -0800, Jhonny Yang wrote (probably
edited):
% gunaiin sintaks dibawah ini coba
% 
% while (!kbhit())ch=getch();
% 
% semoga berhasil yah ...
---end quoted text---

kbhit() ?
Mana ada di glibc?  :)

-- 
amal
[EMAIL PROTECTED]
---
On April 11, 1970, the Apollo 13 spacecraft lifted off into space,
carrying three astronauts: Jim Lovell, John Swigert, and Fred Haise.
-- www.space.com, April 2000 Space Facts


Utk berhenti langganan, kirim email ke [EMAIL PROTECTED]
Informasi arsip di http://www.linux.or.id/milis.php3
Pengelola dapat dihubungi lewat [EMAIL PROTECTED]




Re: [programming] keypressed di linux

2000-10-27 Terurut Topik Benny Prijono

Denni Pidono wrote:
 
 bisa pake select(), masukkan handle socket dan handle nol (stdin) ke
 fd_set untuk read. Atau bisa juga pake multithread, thread yg. satu
 menunggu user input, thread yg. lain membaca keyboard.
 
 tapi cara di atas cumak bisa kalau user menekan tombol ENTER setelah
 menginput kalimat.
 
 bukankah sewaktu user diminta inputan program berhenti utk menunggu
 inputan? lalu bagaimana bisa menerima message dari server sementara program
 berhenti utk menerima inputan dr user?
 

justru itu kegunaan fungsi select().
ini saya kutip dari 'man select':

DESCRIPTION
   select  waits  for  a number of file descriptors to change
   status

jadi caranya kita masukkan handle (file deskriptor) dari socket dan
handle dari stdin (yaitu nol) ke fungsi select() itu, nanti fungsi
select() akan nge-block sampai ada message dari server atau kalau ada
inputan dari user, tergantung dari mana yg. datang duluan.

ini cuplikan kode sederhana:

int get_data(int sock_fd)
{
fd_set rf;

FD_ZERO(rf);

FD_SET(sock_fd, rf);
FD_SET(0, rf);

if (select(2, rf, NULL, NULL, NULL)  1)
return -1;

if (FD_ISSET(sock_fd, rf)) {
puts("dapat data dari socket");
/* read() socket di sini */

} else if (FD_ISSET(0, rf)) {
puts("dapat data dari stdin");
/* gets() atau fgets() di sini */
}
return 0;
}

alternatif yg. lain yaitu pake dua thread.
thread yg. pertama akan menunggu input dari keyboard, dan thread yg.
kedua akan menunggu message dari server. Tapi pemrograman thread ini
lebih sulit memang, karena kedua thread harus sinkron. Jadi menurut
saya sih lebih baik pakai select() itu.

-- 
cheers,
Bennylp


Utk berhenti langganan, kirim email ke [EMAIL PROTECTED]
Informasi arsip di http://www.linux.or.id/milis.php3
Pengelola dapat dihubungi lewat [EMAIL PROTECTED]




Re: [programming] keypressed di linux

2000-10-26 Terurut Topik Benny Prijono

Denni Pidono wrote:
 
 saya juga ingin bertanya bagemana caranya membuat program socket
 programming untuk client, dimana client tersebut bisa menginputkan kalimat,
 dan sambil menunggu inputan user, client bisa menerima message dari server.
 

bisa pake select(), masukkan handle socket dan handle nol (stdin) ke
fd_set untuk read. Atau bisa juga pake multithread, thread yg. satu
menunggu user input, thread yg. lain membaca keyboard.

tapi cara di atas cumak bisa kalau user menekan tombol ENTER setelah
menginput kalimat.

-- 
cheers,
Bennylp


Utk berhenti langganan, kirim email ke [EMAIL PROTECTED]
Informasi arsip di http://www.linux.or.id/milis.php3
Pengelola dapat dihubungi lewat [EMAIL PROTECTED]




Re: [programming] keypressed di linux

2000-10-26 Terurut Topik Denni Pidono

Bennylp wrote:

Denni Pidono wrote:
 
  saya juga ingin bertanya bagemana caranya membuat program socket
  programming untuk client, dimana client tersebut bisa menginputkan kalimat,
  dan sambil menunggu inputan user, client bisa menerima message dari server.
 

bisa pake select(), masukkan handle socket dan handle nol (stdin) ke
fd_set untuk read. Atau bisa juga pake multithread, thread yg. satu
menunggu user input, thread yg. lain membaca keyboard.

tapi cara di atas cumak bisa kalau user menekan tombol ENTER setelah
menginput kalimat.

bukankah sewaktu user diminta inputan program berhenti utk menunggu 
inputan? lalu bagaimana bisa menerima message dari server sementara program 
berhenti utk menerima inputan dr user?


---
Best Regards,


Denni Pidono

Primary email:
[EMAIL PROTECTED]

Other email:
[EMAIL PROTECTED]
[EMAIL PROTECTED]



Utk berhenti langganan, kirim email ke [EMAIL PROTECTED]
Informasi arsip di http://www.linux.or.id/milis.php3
Pengelola dapat dihubungi lewat [EMAIL PROTECTED]




[programming] keypressed di linux

2000-10-25 Terurut Topik Denni Pidono

hi,
ada yang tau perintah utk keypressed di c, sebagai informasi saya 
menggunakan gcc sbg compiler.

saya juga ingin bertanya bagemana caranya membuat program socket 
programming untuk client, dimana client tersebut bisa menginputkan kalimat, 
dan sambil menunggu inputan user, client bisa menerima message dari server.

thx sebelumnya :o)


---
Best Regards,


Denni Pidono

Primary email:
[EMAIL PROTECTED]



Utk berhenti langganan, kirim email ke [EMAIL PROTECTED]
Informasi arsip di http://www.linux.or.id/milis.php3
Pengelola dapat dihubungi lewat [EMAIL PROTECTED]