|
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Flo aka kleiner_hacker
Anmeldungsdatum: 23.06.2006 Beiträge: 1210
|
Verfasst am: 14.02.2007, 18:37 Titel: mit der tastatur die maus steuern in dos! |
|
|
hi
ich (mit meinem maus losen hp lotus) hätt (als halber anfänger) vor, einen interrupot handler zu bauen, der mittels strg+alt+pfeiltaste den zeiger bewegt
aber:
wie kann ich IMMER wenn so ne tastenkombination gedrückt wird (mit ner pause dazwischen dass mir der zeiger bnich abhaut ) ihn bewegen?
oder muss man da quasi alle ints verbiegen?
oder geht des garnet
oder hätt ich nur den ersten treffer von google nehmen müssen? ^^ _________________ MFG
Flo
Satoru Iwata: Wer Spaß am Spielen hat, fragt nicht nach Grafik.
zum korrekten Verstaendnis meiner Beitraege ist die regelmaessige Wartung des Ironiedetektors unerlaesslich. |
|
Nach oben |
|
|
oiermann
Anmeldungsdatum: 28.12.2005 Beiträge: 90 Wohnort: Leutkirch
|
Verfasst am: 14.02.2007, 18:51 Titel: |
|
|
Da DOS nicht multitaskingfähig ist, denke ich nicht dass sowas geht. Unter Linux würde das als Daemon sicher gehen. Eventuell sogar mit /proc und /dev und ein paar Scripten. _________________ Ich bin keine Signatur, ich putz hier nur |
|
Nach oben |
|
|
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 14.02.2007, 19:01 Titel: |
|
|
Hm, dazu müsstest du dich in einen BIOS-Int reinhängen imho. Was imho wiederum nicht möglich ist.
Lass mich natürlich gern eines besseren belehren.
Was möglich WÄRE:
dich in den Timer-Interrupt 'reinhängen und jede 18.3tel Sekunde die Tastatur abfragen und das an einen eigenen Maustreiber weiterreichen. Aber dazu müsstest du erstmal wissen, wie a) die Tastaturansteuerung bei deinem Lotus funktioniert (imho anders als bei einem ATX) und b) ob's den Timer-Interrupt dort auch gibt bzw. auf welchen Int der gehookt wurde.
DOS benutzt den zwar und damit könnte man fast davon ausgehen, dass es ihn gibt, aber es könnte ja auch eine angepasste DOS-Version sein.
Wo wir schon beim Nächsten wären: du müsstest nach dem Ablauf deiner Timer-ISR den Original-Handler aufrufen, damit das OS nicht abstürzt.
Fazit: Ich würd's nicht machen.
(Alle Angaben wie immer ohne Gewähr. ) _________________ Eine handvoll Glück reicht nie für zwei.
--
|
|
Nach oben |
|
|
dreael Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 2507 Wohnort: Hofen SH (Schweiz)
|
Verfasst am: 14.02.2007, 21:24 Titel: Re: mit der tastatur die maus steuern in dos! |
|
|
kleiner_hacker hat Folgendes geschrieben: | ich (mit meinem maus losen hp lotus) hätt (als halber anfänger) vor, einen interrupot handler zu bauen, der mittels strg+alt+pfeiltaste den zeiger bewegt |
Standard-DOS-Maustreiber verwenden immer INT 33h, siehe sonst Beispielprogramm von mir.
Allerdings dürfte dies schnell einmal mit einem immensen Aufwand in der Assemblerprogrammierung verbunden sein. Falls daher der Start von DOS-Anwendungen mit Mausunterstützung auf dieser alten Hardware lediglich Dein Ziel darstellt, würde ich doch eher eine alte serielle Maus im EBay ersteigern oder sogar ein ganzes Notebook z.B. mit 486er-Prozessort für ein Euro. _________________ Teste die PC-Sicherheit mit www.sec-check.net |
|
Nach oben |
|
|
Flo aka kleiner_hacker
Anmeldungsdatum: 23.06.2006 Beiträge: 1210
|
Verfasst am: 15.02.2007, 16:33 Titel: |
|
|
mir gehts eher darum in asm ma was richtiges zu machen...
wie ruf ich den original int auf??
also wäre das so möglich?
Code: |
timerint proc far
WENN taste DANN
hole in ein reg den wert in speicherzelle XXX
inc reg
zurück damit
endif ;jaja, in asm
originalint aufrufen
timerint endp
mausint proc far
wenn ax = [abfragen]
hole in bx,cx (oder) die werte aus speichertelle xxx
und RETURN
endif
mausint endp
und dann die beiden "verbiegen"
|
so ähnlich
was passiert wenns nicht klappt?
a) bleibende schäden am gerät
b) dos stürzt ab
c) er formatiert aus versehen den speicher
d) es tut sich nix (evtl funzt TIMER in qb nich) _________________ MFG
Flo
Satoru Iwata: Wer Spaß am Spielen hat, fragt nicht nach Grafik.
zum korrekten Verstaendnis meiner Beitraege ist die regelmaessige Wartung des Ironiedetektors unerlaesslich. |
|
Nach oben |
|
|
FreakBasic
Anmeldungsdatum: 19.11.2006 Beiträge: 49
|
Verfasst am: 17.02.2007, 05:39 Titel: Maus |
|
|
Zitat: | ich (mit meinem maus losen hp lotus) hätt (als halber anfänger) vor, einen interrupot handler zu bauen, der mittels strg+alt+pfeiltaste den zeiger bewegt |
Toll.
---------------
1. FB-Programm ? (a) QB-Programm ? (b) oder (c) fuer sonstige existierende Programme (welche ???) ?
- (a,b) siehe weiter
- (c) Nur eine Moeglichkeit: CTMOUSE manipulieren /
eigenen "Maus"-Treiber schreiben' , ASM, hat nichts
mit BASIC zu tun:
Zitat: |
oder geht des garnet
|
Geht sicher, aber nicht einfach, wahrscheinlich muesstest du den
IRQ 1 umbiegen ...
Zitat: | oder muss man da quasi alle ints verbiegen? |
NEIN.
Zitat: | Da DOS nicht multitaskingfähig ist, denke ich nicht dass sowas geht |
Sooooooooooo schlimm ist es nicht
Zitat: | dazu müsstest du dich in einen BIOS-Int reinhängen wiederum nicht möglich ist. |
1. Es ist moeglich
2. Es ist wielleicht gar nicht noetig
Zitat: | a) bleibende schäden am gerät |
NEIN.
JA.
---------------
2. Soll die Maus auch noch funktionieren ?
NEIN: (a,b) Kein Prob, Schleife, Tastatur abfragen, Koord. anpassen, Zeiger
zeichnen/bewegen, geht auch ohne INT/IRQ/ASM
(c) "Maus"-Treiber schreiben
JA: Noch kein solches Prog gesehen, muesste aber gehen , div.
Moeglichkeiten:
1. CTMOUSE manipulieren/ersetzen (ASM), ehen schwierig
2. CTMOUSE benutzten, Maus ueber INT 33 Abfragen, Tastatur separat
abfragen, zusammenrechnen, Zeiger zeichnen/bewegen
--------------- |
|
Nach oben |
|
|
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 17.02.2007, 12:38 Titel: |
|
|
Manchmal nerven deine Beiträge einfach, aber ich glaub, da bin ich nicht der einzigste.
FreakBasic hat Folgendes geschrieben: |
1. FB-Programm ? (a) QB-Programm ? (b) oder (c) fuer sonstige existierende Programme (welche ???) ?
|
Hat er quasi schon gesagt: einfach nur die Maus per Tastatur steuern. Also de fakto alle Programme, welche Mausunterstützung bieten.
FreakBasic hat Folgendes geschrieben: |
eigenen "Maus"-Treiber schreiben' , ASM, hat nichts
mit BASIC zu tun:
|
Was nicht allzu schwer ist.
Und ASM hat mit BASIC zu tun, desweiteren weiß ich nicht, wie du jetzt auf die Beziehung kommst?
FreakBasic hat Folgendes geschrieben: |
wahrscheinlich muesstest du den
IRQ 1 umbiegen ...
|
Seit wann biegt man einen Interrupt Request um?
Der IRQ zeigt immer auf den gleichen Interrupt, du kannst nur die ISR dieses fixen Interrupts ändern. (Um es mal mit deinem Smiley auszudrücken: )
FreakBasic hat Folgendes geschrieben: |
1. Es ist moeglich
|
DAS würde mich jetzt mal interessieren... Beispiel per pm oder hier?
FreakBasic hat Folgendes geschrieben: |
JA.
|
Nicht unbedingt, wenn man's richtig macht.
FreakBasic hat Folgendes geschrieben: |
Kein Prob, Schleife, Tastatur abfragen, Koord. anpassen, Zeiger
zeichnen/bewegen, geht auch ohne INT/IRQ/ASM
|
Eben nicht.
Da DOS von Haus aus ein Singletask-OS ist muss das über eine ISR erfolgen, da das laufende Programm ja noch laufen muss. _________________ Eine handvoll Glück reicht nie für zwei.
--
|
|
Nach oben |
|
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|