AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte KeyboardLED (Update: ohne DLL)
Thema durchsuchen
Ansicht
Themen-Optionen

KeyboardLED (Update: ohne DLL)

Ein Thema von MarcoWarm · begonnen am 12. Okt 2005 · letzter Beitrag vom 2. Aug 2006
Antwort Antwort
Seite 3 von 6     123 45     Letzte »    
Benutzerbild von MarcoWarm
MarcoWarm
Registriert seit: 10. Sep 2003
um nicht weiter den Thread von Daniel G zuzumüllen will ich die Unit mal hier "anpreisen".

KeyboardLED ermöglicht es die LEDs des Keyboards zum leuchten zu bringen (ach... wer hätte das gedacht ) und das ganz ohne das virtuelle "Drücken" von NumLock & Co.

Den Download gibts bei TUO.

@Airblader: jetzt gibts auch gleich ne eingebaute Funktion zum zurücksetzen der LEDs
Angehängte Dateien
Dateityp: zip keybleddemo_938.zip (211,3 KB, 140x aufgerufen)
 
Benutzerbild von Aenogym
Aenogym

 
Delphi 7 Enterprise
 
#21
  Alt 12. Okt 2005, 20:50
danke, unbekannte


aenogym
Steffen Rieke
  Mit Zitat antworten Zitat
Benutzerbild von FriFra
FriFra

 
Delphi 2005 Professional
 
#22
  Alt 12. Okt 2005, 20:51
Also ich sitze hier an einem Vaio und da funktioniert es definitiv NICHT, da bei aktivem Num-Lock "uiopjklöm." = "456*123-0," ergibt... Ihr könnt es glauben oder nicht, es IST so

Das schrebe ch etzt mt atvem KeyED
Es werden defnitv Zechen versccth
  Mit Zitat antworten Zitat
Benutzerbild von Airblader
Airblader
 
#23
  Alt 12. Okt 2005, 21:03
An meinem KeyLED kanns jedenfalls nicht liegen, da

1.) Es ja schließlich nur die Unit verwendet
2.) Sonst ja funktioniert *fg*

Auch mal was mit aktivem KeyLED und Intervall 10ms:

Dies ist ein Testtext und wie man sieht passiert rein garnichts seltsames oder ungewöhnliches
Und noch was mit NumPad:
56+57*28+45
Ist auch ganz normal

air
Edit:
Wenn KeyLED übrigens ein paar Leuten gefällt mach ich mich gerne auch an zusätzliche Muster und um es in den Tray zu minimieren etc...
Momentan ist es aber Spielerei, weil mir partout kein sinnvoller verwendungszweck dafür einfällt *fg*
Ingo Bürk
  Mit Zitat antworten Zitat
Benutzerbild von FriFra
FriFra

 
Delphi 2005 Professional
 
#24
  Alt 12. Okt 2005, 21:10
Zitat von Airblader:
An meinem KeyLED kanns jedenfalls nicht liegen, da

1.) Es ja schließlich nur die Unit verwendet
2.) Sonst ja funktioniert *fg*
Und woran soll es sonst liegen, dass wenn Dein Programm läuft meine Tastatur spinnt? Komisch, komisch... sobald ich die Blinkerei abstelle funktionieren genau die Tasten, welche bei Num-Lock die Funktion wechseln wieder normal
  Mit Zitat antworten Zitat
Benutzerbild von Airblader
Airblader
 
#25
  Alt 12. Okt 2005, 21:18
Ich meine damit dass der Fehler in der Unit liegt und nicht im Quelltext von mir

air
Ingo Bürk
  Mit Zitat antworten Zitat
Benutzerbild von chaosben
chaosben

 
Delphi XE2 Professional
 
#26
  Alt 13. Okt 2005, 05:17
Zitat von FriFra:
Das schrebe ch etzt mt atvem KeyED
Es werden defnitv Zechen versccth
Ok FriFra ... du hast es so gewollt. Jetzt bist du das Versuchskaninchen.
Mal eine Frage: warum steht da ein "i" im "defnitv" wenn es (das "i") anscheinend nicht gehen sollte?
Und nochwas: Probier mal bitte die Demo vom MarcoWarm. Ich will Airblader nichts unterstellen aber ... man weiß ja nie.

//edit:
Ok, Nachtrag: Das Verschwinden von Zeichen konnte ich jetzt mit dem Prog von Airblader und einem Intervall von etwa 10ms nachempfinden. Das ist aber in der Natur der Sache begründet, die Marco noch ein wenig erläutern will.
Benjamin Schwarze
  Mit Zitat antworten Zitat
Benutzerbild von FriFra
FriFra

 
Delphi 2005 Professional
 
#27
  Alt 13. Okt 2005, 06:49
Zitat von chaosben:
Mal eine Frage: warum steht da ein "i" im "defnitv" wenn es (das "i") anscheinend nicht gehen sollte?
Und nochwas: Probier mal bitte die Demo vom MarcoWarm. Ich will Airblader nichts unterstellen aber ... man weiß ja nie.
Das "i" hatte wohl "Glück", dass es durchgekommen ist. Es war dieses Lauflicht aktiv, da gibt es schonmal den einen oder anderen Moment, wo das "i" auch mal geht
Auch mit der anderen Demo tritt dieser Effekt ein...
  Mit Zitat antworten Zitat
Benutzerbild von MarcoWarm
MarcoWarm

 
Delphi 10.1 Berlin Professional
 
#28
  Alt 13. Okt 2005, 07:30
Ihr habt es ja nich anders gewollt
Jetzt müsst ihr nen technischen Vortrag ertragen (nich erschrecken vor dem bissl asm)

Wat macht eijentlich SetKeyboardLED?
Da stell'n mer uns ma janz dumm und sagen....

nen LED Status kann man beim Keyboard setzen, indem man einen zwei Byte-Code-Kommando an den Tastaturport sendet. (Bitte merken darauf komm ich nochmal zurück)

Also was passiert nu?

1. ne Schleife wartet, bis der Tastaturpuffer leer ist.
Code:
in    al,64h         ;
and   al,00000010b   ; den Keyboard inputbuffer prüfen
jz    makeLED        ; wenn der Leer ist ... loslegen
2. jetzt schicken wir ganz schnell ein $ED an $60
Code:
mov   al,0edh        ; Keyboard LED output Kommando $ED
out   60h,al         ; an die Adresse $60 schreiben
3. Prüfen, ob der Befehl von der Tastatur angenommen wurde

4. jetzt machen wir alle 3 LEDs an
Code:
mov   al,00000111b   ; Keyboard LED output Kommando 111
out   60h,al         ; an die Adresse $60 schreiben
ok, ok, ok... zwischendrin fehlen n paar Befehle aber das soll ja jetzt auch bloß als Anschauungsmaterial dienen.
Dem aufmerksamen Leser ist sicher aufgefallen, daß hier das Risiko besteht, daß zwischen dem Senden von $ED und 00000111 die Tastatur (also der Mensch durch drücken einer Taste) eine "Taste" in den Buffer schreibt, die dann als LED Kommando gewertet würde. Unter DOS und Win9x kann man das unterbinden indem man den Interrupt exklusiv für sich reserviert (asm -> cli) und nachher die Interruptkontrolle wieder freigibt (asm -> sti). Aber leider macht uns XP da nen Strich durch die Rechnung, da sowas nur möglich ist, wenn die Anwendung im Kernelmodus läuft.

Bitte Beachten
  • Das Risiko kann dadurch minimiert werden, daß Intervall zum setzen der LEDs zu verlängern (daß die Tastatur auch mal ne Chance bekommt)
  • ältere XT-Controller unterstützen dieses Vorgehen nicht
  • sehr neue Controller können auch spinnen
  • das Readme der Unit enthält ne Disclaimer-Section!!!

zur Beruhigung aller... chaosben ist immer noch dabei das irgendwie anders zu lösen (good luck man )
Marco Warm
  Mit Zitat antworten Zitat
Benutzerbild von Aenogym
Aenogym

 
Delphi 7 Enterprise
 
#29
  Alt 14. Okt 2005, 12:07
auf jeden fall sehr nett das ganze.
ich sitz grade an nem programm, dass dieses geblinke auch halbwegs sinnvoll einsetzen kann (nein, kein traffic-monitor^^)

wenns fertig ist, stell ich's natürlich in die freeware-sparte. dauert aber nochn wenig, da ich nebenbei auch noch viele andere dinge zu tun habe

aenogym
Steffen Rieke
  Mit Zitat antworten Zitat
Benutzerbild von chaosben
chaosben

 
Delphi XE2 Professional
 
#30
  Alt 14. Okt 2005, 12:17
Bin schon gespannt.
Zitat von Aenogym:
wenns fertig ist, stell ich's natürlich in die freeware-sparte. dauert aber nochn wenig, da ich nebenbei auch noch viele andere dinge zu tun habe
Es geht den Menschen wie den Leuten.
Benjamin Schwarze
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 6     123 45     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:03 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz