Klavye kodlarının PIC ile üretilmesi

Başlatan MICROCEBEL, 04 Aralık 2007, 21:05:35

MICROCEBEL

Arkadaşlar merhaba,

Klavyenin ürettiği kodları pic ile aynı şekilde üretsek örneğin windows taki not defterinde karakterleri çıkartabilirmiyiz?Sadece harfleri ve rakamları çıkarmak istiyorum.Capslook,numlook,vs.. gibi fonksiyon tuşlarına gerek yok.Forumda dün geceden beri klavye hakkında sorulan soruları ve yazılan yorumları okudum ama hep kalvyeden data okuma ile ilgili bilgiler mevcut.Bu şekilde bişey yapabilmek mümkünmü arkadaşlar?Pc ilk açılışta klavyeden bilgi alıyormu?Yaptığımız devredeki mcu sayesinde örneğin a  karakteri için 0x1c kodu göndersek basıldığına dair ve bırakıldığına dair  0xf0 ve 0x1c kodunu göndersek ekranda a karakterini görürümüyüz?

ibrsel

Klavyeden bilgi okutup PIC ile LCD ekranda yazdırdım ama,PIC ile klavye yapıp bilgisayara veri göndermeyi düşünmemiştim..Klavyenin tuşuna basıldığında gönderdiği veriyi okutup uygun bağlantı ve PIC li devre ile bilgisayara gönderdiğinizde çalışır diye düşünüyorum..
Fakat bilgisayar ilk açılışta sanırım klavyeden bilgi okuyor. Çünkü klavye takılı değil ise windows açılmıyor..Daha önce böyle bir problem yaşamıştık.Bir uyarı ekranunda takılı kalıyor ve klavyeyi takıp F1 tuşuna basmamızı bekliyordu..

MICROCEBEL

Bilgisayarımda xp yüklü şimdi klavyeyi çıkartarak yeniden başlattım böyle bir uyarıyla karşılaşmadım.Sizin dediğiniz uyarı 98 işletim sistemi falan olabilirmi?İlk açılışta muhakkak bir sorgulama oluyodur ama nasıl bir sorgulama onu bilmek lazım.Denemek görmek lazım aslında.Sadece tek düşüncem pc den kalvyeye bir komut gönderiliyormu ve gönderiliyor ise ne için gönderiliyor ve bu isteğin ardından klavyenin pc ye göndermesi gereken data varmı?Kendini tanıtıcı bir data gibi mesela.

d_yol

Merhaba MICROCEBEL,

Microsoft'un sayfasında biraz bilgi var:

http://msdn2.microsoft.com/en-us/library/ms632585.aspx

Ama bu sistem programlama demek. Standart klavye sürcüsünün üstüne
hook denilen bir program yüklemen lazım. Verdiğim linkte anlatılıyor.
Bilgisayarı açtıktan sonra herhangi bir kullanıcı giriş yapmadan işlem
yapmak istiyorsan, hizmet denilen program yazman gerek.
Sen önce verdiğim linki araştır, sonra sana yardım ederim bu konuda.

stlg

Sevgili kardesim

Bende bazı uygulamalarda klavye bilgisine ihtiyac duymustum, eger birkac
tus işini gorecekse klavye icindeki devreyi sok, ilgili tus uclarını bul ve bu ucları minik roleler ile birlestir ,rolelerin kontrolunude pic yapsın
ALLAHA EMANET OLUNUZ Hoştur bana senden gelen,  Ya gonca gül yahut diken,  Ya kaftandır yahut kefen,  Kereminde hoş lütfunda hoş.

Macera

"Art without engineering is dreaming; engineering without art is calculating." -- Steven K. Roberts

MICROCEBEL

@stlg hocam tek birkerelik uygulama olsaydı dediğinizi düşünürdüm ama 100-150 adet civarı yapılması gereken bir iş. Bu nedenle maliyet epeyce artar.

@macera hocam verdiğiniz linki inceledim.Aklıma birşey geldi pc ye zaten bir klavye bağlı olacak.Linkte yapılan bağlantı gibi bişey yapsam.PC ilk açılışta klavyeyi sorgulasa yani devre pasif olsa.Devre üzerinden data gönderirkende  klavye bağlantısını pasif yapsak yada klavye üzerinden gönderilirkende devreyi pasif hale getirsek yani klavyenin ve devrenin birbirinden etkilenmemesi için.Devre üzerinden data aktarımı yapılmıyor ise herzaman kalvye ile pc bağlantısı olsa.Böyle bişey düşündüm ama nasıl olur acaba?

@d_yol hocam verdiğiniz linki inceledim ama sistem programlama olduğunu söylemişsiniz.Klavye sürcüsünün üstüne hook denilen bir program yüklemek gerektiğini söylemişsiniz.Hocam üniversitedeyken c++ kullandım yani biraz bilgim var bilgisayar programlama konusunda.Eğer bu beni çok uğraştıracaksa ve sürekli sizi rahatsız edeceksem başka bir yol izlemeyi tercih ederim.Ne tarz işlerle uğraştığınızı biliyorum ve zamanınızın nekadar değerli olduğunuda tek nedeni bu hocam yanlış anlamayın.Aklıma bikaç fikir daha geldi sizlerle onuda paylaşayım.

1-macera hocama bahsettiğim fikir.
2-Klavyemiz usb olsa devremizde ps2 konnektörüne bağlı olsa devremiz üzerinden data aktarımı yapabilirmiyiz?Klavyeyi kullanmak istediğimizde kalvyedende yazı yazabilcez.
3-Seri porttan gönderilen karakteri windowstaki notdefterinde görüntüleyebilirmiyiz?Aslında karakteri kullanacak olduğum asıl yer cnc kontrolü sağlayan mach3 programı en iyisi bunu söylemek ikisi arasında fark olabilir çünkü.Yani bir exe programı yazsak c++ ta ve arkaplanda ilk öncelikle bunu çalıştırsak ve seriporttan aldığı bilgiyi klavyede o tuşa basılıymış gibi gösterse acaba böyle bişey yapılabilirmi?Büyük ihtimalle yapılabilir ama asıl sormak istediğim zor bişeymi?

Şuan aklıma gelen fikirler bunlar bunların dışında bi bilgi edinirsem sizlerle paylaşırım.Bugün klavyenin gönderdiği bikaç karakterin aynısını pc ye yaptığım devreyle göndericem yarın sonucu yazarım anca biter çünkü.Sonuç alamayacağımı biliyorum ama sadece görmek amaçlı yapıcam.Görüşmek üzere...

MICROCEBEL

Birşey daha var arkadaşlar unutmadan söyliyeyim.Mach3 programı için windowstaki ekran klavyesini kullandım ama bi yanıt alamadım.Görev ataması yaptığım tuşlar görevini yerine getirmedi.Mach3 porgramında paralel porttaki bilgiye göre işlem yaptırma var ama adamlar bu portun pinlerini limit switch leri için kullanmışlar.Programı biraz karıştırdım ama göremedim.Seriport içinde görev ataması yapıyormu acaba?

ibo1973

bu senin dediğin işle ben baya bi uğraştım sonuçta şuna karar verdim 1 eldeki kaynaklar çok çok yetersiz 2 sular seller gibi çok iyi derecede teknik ingilizce bilmen lazım 3 klavye kodlarını picle üretsen dahi ben üretmiştim pic bilgisayar klavye gibi yedirmen çok çok zor bi iş  4 konu çok karışık bir konu olduğu için bu işi çözebilecek bir kaç kişinin oturup bunu çözüpte sana anlatması baya bi zor

ama herşeye rağmen yaparsan veya yapmaya uğraşıcaksan kolay gelsin yaptıklarını ve bulduklarını konu altına yazarsan hangi aşamada olduğunu bende dahil bilenler sanırım az çok yardımcı olucaktır

Cetinal

Alıntı yapılan: "MICROCEBEL"Bilgisayarımda xp yüklü şimdi klavyeyi çıkartarak yeniden başlattım böyle bir uyarıyla karşılaşmadım.Sizin dediğiniz uyarı 98 işletim sistemi falan olabilirmi?İlk açılışta muhakkak bir sorgulama oluyodur ama nasıl bir sorgulama onu bilmek lazım.Denemek görmek lazım aslında.Sadece tek düşüncem pc den kalvyeye bir komut gönderiliyormu ve gönderiliyor ise ne için gönderiliyor ve bu isteğin ardından klavyenin pc ye göndermesi gereken data varmı?Kendini tanıtıcı bir data gibi mesela.

biostan ayarı kapalıdır senin  

eğer klavye takılı değilse error ver diye bir seçenek vardır o disable edilmiştir de ondan  mesela aynı ayar disket sürücü içinde öyledir eğer yoksa başlangıcta hata verir  ama kapalı olur bunlar genelde

kemalak

Alıntı yapılan: "MICROCEBEL"Arkadaşlar merhaba,

Klavyenin ürettiği kodları pic ile aynı şekilde üretsek örneğin windows taki not defterinde karakterleri çıkartabilirmiyiz?Sadece harfleri ve rakamları çıkarmak istiyorum.Capslook,numlook,vs.. gibi fonksiyon tuşlarına gerek yok.Forumda dün geceden beri klavye hakkında sorulan soruları ve yazılan yorumları okudum ama hep kalvyeden data okuma ile ilgili bilgiler mevcut.Bu şekilde bişey yapabilmek mümkünmü arkadaşlar?Pc ilk açılışta klavyeden bilgi alıyormu?Yaptığımız devredeki mcu sayesinde örneğin a  karakteri için 0x1c kodu göndersek basıldığına dair ve bırakıldığına dair  0xf0 ve 0x1c kodunu göndersek ekranda a karakterini görürümüyüz?



Pic ten gönderilen komutlar ile sanki klavyeden tuşa basılmış
gibi  işlem yaptırabilirsin    Bunun için klavyede herhangi bir değişikliğe gerek
yok Bunun için seriportu dinleyen bir exe program Pic ten gelen komutları alacak
ve gelen komuta göre hangi tuşa basılacaksa  ilgili tuş komutunu sisteme gönderecek
Hemde klavyedeki istediğin tuşlara basabilirsin
Gönderdiğin tuşlarla istersen bir programı kontrol eder  istersen Not defterine yazı yazarsın
Hatta çalışmakta olan bir programdaki butona bile basabilirsin

Bunun için örneğin Visual Basic te "Sendkeys" komutu vardır
SendKeys "{ENTER}"    komutu Enter tuşuna  basılmış gibi etki eder

iyi calismalar

ferdem

Bence Kemalak arkadaşın getirdiği çözüm önerisi gerçekten güzel ve uygulanabilirliği yüksek.

Buna benzer bir konu son günlerde "lojik analizör tavsiyesi" başlıklı yazıda konuşuluyordu; "dijital haberleşen iki sistem arasındaki olup bitenleri(haberleşme esnasında gönderilen verileri) yakalayıp kaydedebilir miyiz?" sorusuna cevap aranıyordu. Lojik analizörden ziyade data logger kartlarından bahsedilmiş. Eğer böyle bir imkanımız olursa bilgisayar-klavye arasında ne olup bittiğini takip edebiliriz. Başlık şurda:
http://picproje.org/index.php/topic,18591&highlight=logic+analyzer

Muhtemelen görmüştürsünüz ancak görmeyen arkadaşlar için bildirmek istedim. İyi çalışmalar.

kemalak

Benim söylemek istediğim  klavye ve Fare ile  bilgisayarı nasıl  kontrol
edebiliyorsak seriport veya  başka bir giriş biriminden de bilgisayarı
kontrol edebileceğimiz. Bunun için ilgili giriş birimini dinleyen bir programın olması yeterlidir
 
Ayrıca klavye ve Farenin bilgisayara gönderdiği bütün komutları kaydetmek oldukça kolaydır  Açılan pencereler  dinlenen müzikler
kısaca bilgisayarda olup biten herşey  gerçek zamanı ile kaydedilebilir
Meşhur  Keylogger  programları bunun için yazılmıştır
Bunun için biraz üstseviye dillerinden birini bilmek yeterlidir

iyi çalışmalar