Autor Thema: Tastatur mit CapsLock Controlle  (Gelesen 103014 mal)

0 Mitglieder und 2 Gäste betrachten dieses Thema.

Offline ToPeG

  • Benutzer
  • Beiträge: 406
Re: Tastatur mit CapsLock Controlle
« Antwort #80 am: So 19.08.2012, 01:57:57 »
Ich verstehe das so, daß Ihr eine Möglichkeit sucht, ein Programm zu schreiben, welches im Hintergrund läuft und den Tastaturprozessor abfragt, um herauszufinden, ob z.B. die CapsLock-Taste gedrückt ist oder nicht. Anhand des Status wird dann eine LED geschaltet.
Nicht ganz. Am IKBD gibt es einen freien Port, der als Ausgang geschaltet ist. Auf machen MegaST-Tastatur-Schaltbildern ist an diesem über ein Transistor eine LED angeschlossen. Atari hatte also mal vorgesehen eine CapsLock LED zu verbauen (wurde wegrationalisiert). Leider ist weder das TOS noch der IKBD-Bios darauf vorbereitet diese LED selbstständig anzusteuern. Das bedeutet, man kann eine LED anschließen doch sie macht nichts von sich aus.
Glücklicherweise kann man vom ST aus diesen Ausgang ansteuern (Ich denke mal das es klappt) Wenn man also ein Programm schreibt, das im "Hintergrund" läuft und die Ansteuerung der LED übernimmt, hat man das Problem gelöst. Es gibt schon ein Programm das das macht CAPSLOCK.PRG leider scheint das nur mit einem TOS1.04 zu laufen und verträgt sich nicht so gut mit anderen Hintergrundprogrammen. Es wird ein Ersatz gebraucht. Leider scheine ich hier der einzige zu sein, der sich an so was heran wagt. :-)

Burkhard Mankel

  • Gast
Re: Tastatur mit CapsLock Controlle
« Antwort #81 am: So 19.08.2012, 09:20:29 »
Leider scheine ich hier der einzige zu sein, der sich an so was heran wagt. :-)

Leider kann ich nicht gut programmieren - bestenfalls im Spaghetti (GfA-BASIC) Code und dann ohne Kenntnisse der inneren Variablen und wie ich sie setze - sonst hätten wir wahrscheinlich  bei meiner Zeit längst ein Programm stehen ...  ;D

rainers

  • Gast
Re: Tastatur mit CapsLock Controlle
« Antwort #82 am: So 19.08.2012, 10:12:43 »
ToPeG schrieb:
Zitat
Auf dem Emulator läuft es.

Habe es in den GBE geladen.
Es läßt sich nicht compilieren. RUN geht zwar, aber es erfolgen keine Ausgaben auf dem Screen.
Was mache ich denn falsch?

Rainer

Offline ToPeG

  • Benutzer
  • Beiträge: 406
Re: Tastatur mit CapsLock Controlle
« Antwort #83 am: So 19.08.2012, 11:01:28 »
Leider kann ich nicht gut programmieren - bestenfalls im Spaghetti (GfA-BASIC)
Kein Grund es nicht zu versuchen. So habe ich auch programmieren gelernt. Ich habe es einfach versucht. Mit Programmen kann man das TOS nicht kaputt bekommen. GFA-Interpreter auf eine Diskette und angefangen.
Was macht mehr Spaß als stundenlang im System zu stochern und zu sehen wo es zuckt. :-)

Aber mich würde es wirklich interessieren ob der Port schaltet.

Offline ToPeG

  • Benutzer
  • Beiträge: 406
Re: Tastatur mit CapsLock Controlle
« Antwort #84 am: So 19.08.2012, 11:06:30 »
Was mache ich denn falsch?
GBE zu benutzen? Mit dem ungepatchten Original funktioniert es. Ich vermute die Ausgabe Spinnt weil ich einfach auf den Bildschirm Schreibe. Kompilieren lässt es sich nicht weil ich einige Sachen dafür nicht initialisiert habe. Es handelt sich um einen einfachen Test, ohne Netz und doppelten Boden. Nur um zu schauen ob was passiert.

rainers

  • Gast
Re: Tastatur mit CapsLock Controlle
« Antwort #85 am: So 19.08.2012, 19:49:52 »
Hallo ToPeG,

habe Dein Prog mit richtigem GFA  ;)  auf dem 1040er STe (TOS 2.06, MagicC 6.2) getestet.
Es signalisiert den Statuswechsel der CapsLock-Taste korrekt, die LED, angeschlossen an PIN37 des Tastaturprozessors, wechselt den Status nicht (mit). Sie leuchtet dauerhaft, direkt mit dem einschalten des Rechners.

Rainer

Offline Arthur

  • Benutzer
  • Beiträge: 10.311
  • Mein Atari erinnert mich an die gute alte Zeit..
Re: Tastatur mit CapsLock Controlle
« Antwort #86 am: So 19.08.2012, 20:33:23 »
In der ST-Computer Januar 95 gab es ein Progammlisting (Caps LED) das erst Prüfte ob es unter MiNT läuft und anschließend den Staus der Caps-Taste anzeigte. Es wa sehr ausführlich dokumentiert.

Zu finden unter MiNT Hintergrundprozesse DAEMONS Seite 68.

Offline ToPeG

  • Benutzer
  • Beiträge: 406
Re: Tastatur mit CapsLock Controlle
« Antwort #87 am: So 19.08.2012, 20:44:07 »
Danke gerade gelesen. Leider geht es da primär um Hintergrundprozess bei Mint. Die LED ist "virtuell", ein Bild das auf den Desktop gemalt wird. Das Abfragen des CapsLockStatus ist ja nicht das Problem.

Wahrscheinlich nutze ich das XBIOS-Kommando 25 nicht korrekt. Da werde ich noch ein wenig suchen müssen wie andere das gemacht haben.

rainers

  • Gast
Re: Tastatur mit CapsLock Controlle
« Antwort #88 am: So 19.08.2012, 21:27:29 »
Wenn Du was hast, was sich erfolgversprechend anhört, dann kann ich das weitertesten.  ;)

Was mich halt wundert: Warum leuchtet die LED schon beim einschalten?

gstoll

  • Gast
Re: Tastatur mit CapsLock Controlle
« Antwort #89 am: So 19.08.2012, 21:50:53 »
Wahrscheinlich nutze ich das XBIOS-Kommando 25 nicht korrekt.

Pauschal fällt mir erstmal auf, dass Port 3 und damit Adresse 0x0006 nur 8 Bit breit ist. Zudem musst Du im Data Direction Register von Port 3 (0x0004) den entsprechenden Port auch als Ausgang (High = 1) setzen. Die werden bei einem Reset erstmal alle als Eingang geschaltet.

Offline ToPeG

  • Benutzer
  • Beiträge: 406
Re: Tastatur mit CapsLock Controlle
« Antwort #90 am: So 19.08.2012, 21:51:38 »
Ich Dummerchen habe zwei Byte geschrieben Das Register ist aber nur ein Byte breit. Kein wunder das sich nichts getan hat.

'
' Testprogramm fuer Capslock LED
' ueberwacht den Capslock-Status
' und setzt danach Bit0 an Port3 des IKBD
' Wenn dort ueber einen Transisor eine LED angeschlossen ist
' Kann sie den CapsLockstatus anzeigen
'
' Komando, Adresse, Bytecount, Bytes
' AN
' 20,      0006,    01,        FF
' AUS
' 20,      0006,    01,        FE
'
kbd$="     "
init
'
PRINT AT(1,1);"Ende mit Maustaste"
'
REPEAT
  led_update
  PAUSE 1
UNTIL MOUSEK
'
PROCEDURE init
  LOCAL adr%
  adr%=VARPTR(kbd$)
  CARD{adr%}=&H2000
  CARD{adr%+2}=&H0601
RETURN
'
PROCEDURE led_update
  LOCAL status!
  status!=BIOS(11,-1) AND 16
  led(status!)
  print_status(status!)
RETURN
'
PROCEDURE print_status(on!)
  PRINT AT(5,5);"Capslock: ";
  IF on!
    PRINT "ON "
  ELSE
    PRINT "OFF"
  ENDIF
RETURN
'
PROCEDURE led(on!)
  LOCAL adr%
  adr%=VARPTR(kbd$)
  IF on!
    CARD{adr%+4}=&HFF
  ELSE
    CARD{adr%+4}=&HFE
  ENDIF
  ~XBIOS(25,5,L:adr%)
RETURN

Also auf ein neues.

Offline ToPeG

  • Benutzer
  • Beiträge: 406
Re: Tastatur mit CapsLock Controlle
« Antwort #91 am: So 19.08.2012, 22:09:23 »
Pauschal fällt mir erstmal auf, dass Port 3 und damit Adresse 0x0006 nur 8 Bit breit ist.
Habe ich auch gesehen.

Zudem musst Du im Data Direction Register von Port 3 (0x0004) den entsprechenden Port auch als Ausgang (High = 1) setzen. Die werden bei einem Reset erstmal alle als Eingang geschaltet.
Da bin ich nicht so sicher.
Ich will so wenig wie möglich an den Ports herum pfuschen. Darum versuche ich es erst mal ohne setzen. Wenn das geht ist gut ansonsten muss ich weiter schauen.

EDIT:
Ich habe mich mal weiter durch den Code des IKBD gefressen.
Nach dem Init ist port3 dauerhaft ein Ausgang. Beim Initialisieren wird Port3/4 als Ausgang geschaltet, Dann wird nur noch die Richtung von Port4 Manipuliert.
Beim Init wird werden beide Ports mit FFFF gefüllt. Auch nach jedem Lesen der Tastaturmatrix werden beide mit FFFF gefüllt. Das heißt der Ausgang ist Ohne Manipulation dauerhaft High. Darum Leuchtet die LED bei Rainer dauerhaft. Weiterhin bedeutet es, dass der Port immer wider geschaltet werden muss, so schnell wie möglich. Das heißt das Programm muss sich an den VBlank hängen damit die LED nicht Flackert. Möglicherweise muss ich direkt die Hardware ansprechen, damit das schnell genug ist. Mal schauen.

EDIT2:
Auf der anderen Seite bedeutet es, dass ich mich nur darum Kümmern muss den Port abzuschalten. An geht er von allein. Möglicherweise sollte man das Signal durch einen Inverter jagen, dann ist es Dauerhaft aus, bis man es einschaltet. Das ist günstiger, da CapsLock häufiger aus als an ist.
« Letzte Änderung: So 19.08.2012, 22:45:27 von ToPeG »

Offline ToPeG

  • Benutzer
  • Beiträge: 406
Re: Tastatur mit CapsLock Controlle
« Antwort #92 am: Mo 20.08.2012, 16:00:25 »
Ich habe gerade erfahren das es funktioniert.

Das Heißt nun auf zur Phase2. Ein Programm das sich in einen InterruptVektor einhängt und darüber das CapsLock überwacht.

Phase3 ist dann ein AutoOrder Programm.

Offline ToPeG

  • Benutzer
  • Beiträge: 406
Re: Tastatur mit CapsLock Controlle
« Antwort #93 am: Di 21.08.2012, 08:55:50 »
Bevor ich weiter mache.
Besteht ein Interesse an mehr als einer LED? Soweit ich es sehe müssten zumindest bis zu 8 machbar sein. Ich habe es noch nicht ausprobiert und wollte erst mal vorsichtig anfragen ob da überhaupt ein Interesse besteht.

Neben Capslock ließe sich so auch Laufwerksaktivitäten, Systemstatus usw. ausgeben. Alles was man im System per Software abfragen kann ließe sich anzeigen.

Zudem Ließe sich damit die Systembelastung verringern, da die LED nicht immer wieder neu gesetzt werden müssten.

Ich werde später mal die Schaltung zusammen setzen. Dann Genaueres.

Offline 1ST1

  • Benutzer
  • Beiträge: 8.661
  • Gesperrter User
Re: Tastatur mit CapsLock Controlle
« Antwort #94 am: Di 21.08.2012, 09:18:51 »
Ich fürchte, als GFA- Basic-Programm ist das zu langsam, um einen Effekt zu sehen.
Ausgeloggter Mitleser, der hier NIE mehr aktiv wird. Am besten, meine Inhalte komplett löschen. Dabei berufe ich mich auf mein Urheberrecht, die DSGVO und auf die Rechte, die mir unter Impressunm&Datenschutz zugestanden werden. Tschö!

rainers

  • Gast
Re: Tastatur mit CapsLock Controlle
« Antwort #95 am: Di 21.08.2012, 09:27:54 »
Hallo ToPeG,

Lampen sind immer schick.  ;D
Aber ernsthaft: Von meiner Seite aus ein "JA".

Was kann ich mir denn unter "Systemstatus" vorstellen, den per LED zu signalisieren?

Ist Dein Programm TOS-spezifisch oder kann es auch unter MagiC (5.x, 6.x) eingesetzt werden?

Offline 1ST1

  • Benutzer
  • Beiträge: 8.661
  • Gesperrter User
Re: Tastatur mit CapsLock Controlle
« Antwort #96 am: Di 21.08.2012, 09:32:50 »
Burkhard, ich weiß dass du die Pipi bist. Und ich kenne auch deine Gedanken hier aus deinen Thread,aber nun gehe mal auf Seite 2 dieses Threadsund schaue mal wer die Idee mit deml KB zu umgehen und Tastaturmatrix auszuwerten zuerst hatte und in weiteren Verlauf darauf hinwies,dass es auch so nicht ohne weiteres geht, weil die LED nur flattern würde...

    Re: Tastatur mit CapsLock Controlle
« Antwort #28 am: Sa 04.08.2012, 22:30:17 »

Und eben weiß ich wie ich aus dem fatternden Ausgang ein stabiles Signal für das Flipflop bekomme... Zeichnung folgt später.
« Letzte Änderung: Di 21.08.2012, 09:39:50 von oneSTone o2o »
Ausgeloggter Mitleser, der hier NIE mehr aktiv wird. Am besten, meine Inhalte komplett löschen. Dabei berufe ich mich auf mein Urheberrecht, die DSGVO und auf die Rechte, die mir unter Impressunm&Datenschutz zugestanden werden. Tschö!

Offline Arthur

  • Benutzer
  • Beiträge: 10.311
  • Mein Atari erinnert mich an die gute alte Zeit..
Re: Tastatur mit CapsLock Controlle
« Antwort #97 am: Di 21.08.2012, 18:35:44 »
Lasst bitte diese Querelen oder macht das privat und nicht hier im Forum... Ihr könnt so interessante Beiträge schreiben aber diese ständige Nörgelei ist eine echte Spaßbremse.

guest2696

  • Gast
Re: Tastatur mit CapsLock Controlle
« Antwort #98 am: Di 21.08.2012, 20:50:28 »
Zitat
Besteht ein Interesse an mehr als einer LED?

Hi ToPeg, also ich bin sowieso 'Anzeige und Display-Fetischist' -  ;D - Mit den Möglichkeiten stellen sich die Ideen ein: LEDs für Laufwerkzugriffe, Blitter-Status, TOS-Version oder Beschleunigerboard An/Aus wären denkbar.

Das ist jetzt eher Spinnerei, aber mit 8Bits könnte man ja sogar schon ein HD44780 kompatibles LC-Display im 4-Bit Mode steuern; Bloß solch ein großes Loch in die Tastatur sägen werde ich dann bestimmt doch nicht.  ;)

Gruß soldermaSTer


Offline Arthur

  • Benutzer
  • Beiträge: 10.311
  • Mein Atari erinnert mich an die gute alte Zeit..
Re: Tastatur mit CapsLock Controlle
« Antwort #99 am: Di 21.08.2012, 21:21:50 »
Im Mega STE/Falcon/TT wären auch 8/16MHz denkbar... Ich muß allerdings gestehen das ich die Idee nur solange interessant gefunden habe wie es eine reine Hardwarelösung wäre... evtl. wärs für mich noch interessant wenn es einen guten TOS-Patch dafür gäbe.