[linux-ileri] Re: VGA Controller Olmadan Klavye Kullanimi - Yeniden

---------

New Message Reply About this list Date view Thread view Subject view Author view Attachment view

From: Murat Demirten (murat@debian.org)
Date: Sun 10 Oct 2004 - 11:39:51 EEST


Merhaba,

Ifade edildiginde cok basit gibi gozuken bu problemin ustesinden halen
gelemedim.

Yaptigim denemelerden elde ettigim sonuc, linux'te klavyeye basildigi
anda tusu okuyabilmek icin terminal interface'ini kullanmak gerekiyor.

Terminal interface'i vga veya framebuffer yokken kullanilamiyor.

Dummy console driver'i sadece, PCI veriyolu ilklendirilene kadar ise
yariyor, ardindan bir islevi kalmiyor (VGA referanslari olmadan cekirdek
derlenmiyor)

Simdi soru su: Bir tusa basildiginda olusan event'i shift state vb. ile
birlikte alabilecegim bir yontem yok mu?

Murat Demirten wrote:

>Oyle olmasini ben de umit ettim ancak
>
># CONFIG_VGA_CONSOLE is not set
>CONFIG_DUMMY_CONSOLE=y
>CONFIG_DUMMY_CONSOLE_COLUMNS=80
>CONFIG_DUMMY_CONSOLE_ROWS=25
>
>şeklinde çekirdek build edilemiyor:
>
> /usr/src/kernel-source-2.4.27/arch/i386/lib/lib.a
>/usr/src/kernel-source-2.4.27/lib/lib.a
>/usr/src/kernel-source-2.4.27/arch/i386/lib/lib.a \
> --end-group \
> -o vmlinux
>arch/i386/kernel/kernel.o(.text.init+0x1317): In function `setup_arch':
>: undefined reference to `vga_con'
>make: *** [vmlinux] Error 1
>
>
>Anlasilan dummy console, boot surecinde belirli bir sure ihtiyac duyulan
>bir ozellik sadece. Bu nedenle belki de menuconfig icinden ayarlanabilir
>degil zaten.
>
>
>
>Murat =?utf-8?q?Ko�������������������������������� wrote:
>
>
>
>>>Selam,
>>>
>>>
>>>
>>>
>>>
>>Selam,
>>
>>
>>
>>
>>
>>>Ihtiyac duydugum ozellik bu degil. Oradaki mantikta select
>>>kullandigimizda, tusa basildigi anda select'in altina dusmeyecek, enter
>>>tusuna basilinca FD_ISSET calismaya baslayacak. Bana lazim olansa
>>>herhangi bir tusa basildigi anda, onu yakalayip islem yapabilmek. Ayni
>>>select ile 6 fd dinliyorum ve klavye isinin de burada olmasi gerekiyor.
>>>
>>>fcntl(0, F_SETFL, FASYNC); veya FNDELAY de bu durumu degistirmiyor, tusa
>>>basildigi anda okumak icin herkes curses apilerini ve dolayisiyla
>>>terminal uzerinden yontemleri onermis. Klavyeye basildigi anda, enter
>>>tusunu beklemeden okumanin bir yolu yok mu? Yoksa, cozum olarak,
>>>terminal de kullanamayacagimiz dusunulurse, input API uzerinden okuma
>>>yapmak mumkun olabilir mi? Yukarida da belirttigim gibi tek amacim, tty
>>>kullanmadan, basilan tus kodunu aninda algilayabilmek :)
>>>
>>>
>>>
>>>
>>Yapılan herşey genelde bir tty nin var olduğuna göre düzenlenmiş :)
>>tty olduğu zaman kolay istediğin şey. Zaten yapıyorsun sen de.
>>
>>
>>Peki dummy_console ile denedin mi?
>>
>>DUMMY_CONSOLE=y ile tty istekleri dummy olarak kaşılanır. ROW ve COLS 80x25
>>için define edilmiştir. Bu şekilde console sahip olmadan dummy_console ile
>>aslında istediğini yine yapabilirsin.
>>
>>Her kernel açılırken Console: colour dummy console 80x25 şeklinde bir ibare
>>görürsün. Bu işte daha herhangi bir console driver enable edilmemişken ve
>>herhangi bir tty yok iken olan consol driverdir.
>>
>>Bununla esasında istediğin şeyi yine yapabilirsin gibime geliyor.
>>DUMMY_CONSOLE=y olsun. Bunun dışında zaten sahip olduğun herhangi bir console
>>driver yok değil mi? Geçiş yapamadığı sürece dummy console kalmaya devam
>>edecektir. Bu durumda sen de dummy console üzerinde kodunu yine
>>çalıştırabileceksin.
>>
>>Bunun dışında aklıma şimdilik başka birşey gelmiyor.
>>
>>glibc de tcsetattr e bir de drivers/char/keyboard.c daha fazla yardımcı
>>olacaktır sanırım.
>>
>>
>>
>>
>>
>
>
>
>


New Message Reply About this list Date view Thread view Subject view Author view Attachment view

---------

Bu arsiv hypermail 2.1.2 tarafindan uretilmistir.