NKC Forum
Registrieren | FAQ | Suche | Wer ist online? | Mitgliederliste | Heutige Beiträge | Kalender | Einloggen



Autor Thema: Maus
smed
Stammgast
**
ID # 114


  Erstellt am 03. Januar 2026 18:43 (#1)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Hi,
dies ist ein einfaches Maus-Testprogramm. Es fällt auf, dass die Auflösung der Maus nicht besonders hoch ist - man muss also ganz schön schieben wenn man die Maus über den Bildschirm bewegen will. Im Testprogramm verwende ich eine einfache dynamische Beschleunigung, aber viel hilft das auch nicht.

Skalieren kann man auch noch über ein command line argument also 'file 3' für 3x Skalierung, das fühlt sich schon besser an, aber noch nicht optimal.

Wieviel DPI haben denn PS/2 Mäuse ? Kann man die Auflösung (DPI) der MAUS Baugruppe im TangNano erhöhen ?

file.68k

gruss
smed

#include <stdio.h>
#include "../../nkc_common/nkc/nkc.h"

int main(int argc, char* argv[]) {

int min_x = 999;
int min_y = 999;
int max_x = -999;
int max_y = -999;

int scaleFactor = 1;

if (argc > 0) {scaleFactor = atoi(argv[1]); }
printf("scale factor: %i\n", scaleFactor);

int mouse_pos_x = 256;
int mouse_pos_y = 128;

static int16_t dx = 0;
static int16_t dy = 0;
int mouse_keys = 0;

int dyn_step[10] = {0, 1, 4, 8, 13, 19, 26, 34, 43, 54};

gp_clearscreen();

int dx_sign = 1;
int dy_sign = 1;

while (!mouse_keys) {

mouse_keys = gp_get_mouse(&dx, &dy);

//record min, max
if (dx < min_x) {min_x = dx;}
if (dy < min_y) {min_y = dy;}
if (dx > max_x) {max_x = dx;}
if (dy > max_y) {max_y = dy;}

//keep sign
dx_sign = 1; if (dx < 0) {dx_sign = -1;}
dy_sign = 1; if (dy < 0) {dy_sign = -1;}

//calc non-linear acceleration
int delta_x = (dx_sign * dyn_step[abs(dx)] * scaleFactor);
int delta_y = (dy_sign * dyn_step[abs(dy)] * scaleFactor);

//smallest resolution always 1 for 1 pixel accuracy clicking
if (dx == 1) {delta_x = 1;}
if (dy == 1) {delta_y = 1;}
if (dx == -1) {delta_x = -1;}
if (dy == -1) {delta_y = -1;}

//new mouse pos
mouse_pos_x += delta_x;
mouse_pos_y += delta_y;

//scrible
gp_moveto(mouse_pos_x, mouse_pos_y);
gp_cmd(0b10101000); //vector, 1 pixel, direction: EastEast

//spider plot
gp_moveto(400, 150);
gp_drawto(400 + (delta_x*2), 150 + (delta_y*2));

//min max values
gp_cursor_off();
gp_setcurxy(0,4);
iprintf("min_x %i\r\n", min_x);
iprintf("max_x %i\r\n", max_x);
iprintf("min_y %i\r\n", min_y);
iprintf("max_y %i\r\n", max_y);
}

return 0;
}


-----------------------
NKC'ler seit 1984 (Pause zw. 1988-2017)
CPU68k,CPU68000,4xROA64,6xIOE,6xGDP,GDPHS,8xSBC2/3,HEXIO,6xKEY,UHR3,PROMER,CENT,SER,SOUND,CAS,6xBUS2,4xBUS3,3xPOW5V,2xTAST..und einen ArduinoMEGA mit auf dem BUS, und eine selbstgebastelte MEM960k und eine FPGA-GDP.

NKC - OpenSource since 1983

Beiträge: 307 | Mitglied seit: Januar 2011 | IP-Adresse: nicht gespeichert
andi
Fühlt sich wie zu Hause
***
ID # 213


  Erstellt am 04. Januar 2026 11:30 (#2)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Hallo Smed,
Wegen der Msus - es gibt Kommandos um die Auflösung (counts/mm) zu erhöhen. Ich lass das aktuell am Defaultwert der Maus (wahrscheinlich der niedrigste Wert).
Siehe https://isdaman.com/alsos/hardware/mouse/ps2interface.htm
Von der SW aus kann man das aktuell nicht umschalten.
Ich kann allerdings bei der Maus-init Sequenz (im VHDL) die Auflösung erhöhen. Das wär relativ einfach.
Ich denke allerdings auch darüber nach dem Maus-interface einen low-level PS2 Mode zu verpassen. Dann muss die SW via Interrupt die Mouse-events auswerten, kann dann aber auch mit dieser kommunizieren und die Auflösung umschalten.

Beiträge: 470 | Mitglied seit: Mai 2021 | IP-Adresse: nicht gespeichert
smed
Stammgast
**
ID # 114


  Erstellt am 04. Januar 2026 16:19 (#3)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Hi Andi,
thanks, mit den Infos werde ich mal mit den verschiedenen Optionen zur Sampelrate und Auflösung in PS2Mouse.vhd experimentieren - ich werde berichten.

Gruss
smed

-----------------------
NKC'ler seit 1984 (Pause zw. 1988-2017)
CPU68k,CPU68000,4xROA64,6xIOE,6xGDP,GDPHS,8xSBC2/3,HEXIO,6xKEY,UHR3,PROMER,CENT,SER,SOUND,CAS,6xBUS2,4xBUS3,3xPOW5V,2xTAST..und einen ArduinoMEGA mit auf dem BUS, und eine selbstgebastelte MEM960k und eine FPGA-GDP.

NKC - OpenSource since 1983

Beiträge: 307 | Mitglied seit: Januar 2011 | IP-Adresse: nicht gespeichert
andi
Fühlt sich wie zu Hause
***
ID # 213


  Erstellt am 04. Januar 2026 17:17 (#4)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Hallo Smed,
Die Auflösung der Maus kannst du ganz einfach im VHDL Code umstellen. Siehe folgende Zeilen:
https://github.com/avg67/nkc/blob/main/tang_nano_20k/NKC_68k16_Z80/VHDL/vhdl/rtl/PS2Mouse.vhd#L126
Wegen der Werte fürchte ich du musst etwas experimentieren (beschreibung der Parameter siehe Link oben)
Die Init- Statemachine sendet beim Startup den Inhalt des Mouse_Init_ARRAY_c an die Maus

Beiträge: 470 | Mitglied seit: Mai 2021 | IP-Adresse: nicht gespeichert
andi
Fühlt sich wie zu Hause
***
ID # 213


  Erstellt am 05. Januar 2026 22:12 (#5)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Hallo,

ich hab einen Update bei der Maus eingecheckt der diese (zumindest bei mir) deutlich beschleunigt.
Hab die Auflösung auf 8 count/mm und die Samplerate auf 100 Samples/s gesetzt, sowie das 2:1 Scaling eingeschaltet
https://github.com/avg67/nkc/blob/main/tang_nano_20k/NKC_68k16_Z80/VHDL/vhdl/rtl/PS2Mouse.vhd#L124
68k SOC-FPGA-Files hab ich upgedated

Beiträge: 470 | Mitglied seit: Mai 2021 | IP-Adresse: nicht gespeichert
smed
Stammgast
**
ID # 114


  Erstellt am 06. Januar 2026 17:27 (#6)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Hi,
Danke, die neuen Maus configs sind gut.

Mein ge-updatetes Mauskritzelprogramm, nun in Hi-res:
file.68k -dynamische Beschleunigung kommt später, erst mal gut genug.

Gruss
smed

-----------------------
NKC'ler seit 1984 (Pause zw. 1988-2017)
CPU68k,CPU68000,4xROA64,6xIOE,6xGDP,GDPHS,8xSBC2/3,HEXIO,6xKEY,UHR3,PROMER,CENT,SER,SOUND,CAS,6xBUS2,4xBUS3,3xPOW5V,2xTAST..und einen ArduinoMEGA mit auf dem BUS, und eine selbstgebastelte MEM960k und eine FPGA-GDP.

NKC - OpenSource since 1983

Beiträge: 307 | Mitglied seit: Januar 2011 | IP-Adresse: nicht gespeichert
redo
Stammgast
**
ID # 245


  Erstellt am 11. Februar 2026 15:03 (#7)  |  Zitat Zitat   PN PN   E-Mail E-Mail   HP HP
Hallo,
ich würde das gerne mal mit einer Maus probieren.
Welche PS/2 Mäuse habt ihr im Einsatz, die funktionieren.
Experimente mit älteren USB-Mäusen und PS/2 Adapter sind bei mir fehlgeschlagen.
Danke für eure Tipps.
VG Jürgen

-----------------------
Nach vielen Jahren ging es mit dem NKC wieder los.... Sehr spannend!

Beiträge: 209 | Mitglied seit: Juni 2025 | IP-Adresse: nicht gespeichert
andi
Fühlt sich wie zu Hause
***
ID # 213


  Erstellt am 11. Februar 2026 15:50 (#8)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Hallo,
Ich hab bei mir eine Logitech USB/PS2 und eine Microsoft Maus im Einsatz. Beide funktionieren.
Du musst die Maus bereits angesteckt haben wenn du das Board einschaltest oder nach dem anstecken einen Reset auslösen. Sonst wird die Maus nicht initialisiert
LG Andi

Beiträge: 470 | Mitglied seit: Mai 2021 | IP-Adresse: nicht gespeichert
redo
Stammgast
**
ID # 245


  Erstellt am 11. Februar 2026 17:07 (#9)  |  Zitat Zitat   PN PN   E-Mail E-Mail   HP HP
Hallo Andi,
hast Du da Funk- oder Kabelmäuse?
Meine Kabel-USB-Maus (ASUS M-UV55A) vermutlich propietär für den damaligen Laptop (kurzes Kabel) mit PS/2-Adapter tut es nicht.
Eine Logitech Funk-USB-Maus M185 am PS/2-Adapter tut es auch nicht.
Kannst Du mir die Typenbezeichnungen von Deinen Mäusen nennen? Dann versuche ich, sowas noch zu beschaffen.
Besten Dank.
VG Jürgen

-----------------------
Nach vielen Jahren ging es mit dem NKC wieder los.... Sehr spannend!

Beiträge: 209 | Mitglied seit: Juni 2025 | IP-Adresse: nicht gespeichert
andi
Fühlt sich wie zu Hause
***
ID # 213


  Erstellt am 11. Februar 2026 18:52 (#10)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Hallo Jürgen,

wie testest du denn die Maus?
Ich empfehle Minesweeper (mine.68k) am Tang-nano. Und hast du die Maus am richtigen PS/2 Port angesteckt (grün)?
Ah es sind zwei Logitech (USB) Mäuse die ich aktuell verwende, hab aber auch schon einige andere getestet (Funk-Mäuse bisher noch nicht).


Beiträge: 470 | Mitglied seit: Mai 2021 | IP-Adresse: nicht gespeichert
tuti
Voll in Gange
***
ID # 225


  Erstellt am 11. Februar 2026 20:01 (#11)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Ich nutze am Wohnzimmer-Platz ein Logitech Funk-Set mit Tastatur und Maus. Tastatur ist da schon PS/2, Maus mit Adapter.

So etwas hier: https://www.kleinanzeigen.de/s-anzeige/logitech-cordless-keyboard-mouseman-optical-funk-maus-tastatur/3309692455-225-9368

Im Keller ist es meist eine gute alte Microsoft-Maus mit PS/2.

-----------------------
Definitiv sind Frösche und Himbeeren am besten!

Beiträge: 577 | Mitglied seit: Juli 2022 | IP-Adresse: nicht gespeichert
redo
Stammgast
**
ID # 245


  Erstellt am 11. Februar 2026 20:19 (#12)  |  Zitat Zitat   PN PN   E-Mail E-Mail   HP HP
Hallo Andi,
ja ich teste mine auf dem TangNano am grünen Anschluss. Dann auch Reset oder Kaltstart.
Die ASUS Maus funktioniert am Desktop mit USB direkt ohne Probleme. Gibt es Unterschiede bei USB-PS/2-Adaptern? Meiner ist für USB->PS/2 für Mäuse ausgelegt, so zumindest der Symbolaufdruck...
Hab mir jetzt mal eine PS/2 Kabel-Maus von Perixx bestellt und einen grünen USB->PS/2 Adapter zum testen mit der ASUS, mein Adapter ist schwarz und ich konnte ihn mit einer Tastatur erfolgreich einsetzen. Man wird sehen.
Danke erstmal.
Ich berichte....
VG Jürgen

-----------------------
Nach vielen Jahren ging es mit dem NKC wieder los.... Sehr spannend!

Beiträge: 209 | Mitglied seit: Juni 2025 | IP-Adresse: nicht gespeichert
redo
Stammgast
**
ID # 245


  Erstellt am 14. Februar 2026 13:02 (#13)  |  Zitat Zitat   PN PN   E-Mail E-Mail   HP HP
Hallo Andi,
habe mir jetzt diese Maus besorgt:

https://www.amazon.de/dp/B07WV55HZD?ref=ppx_yo2ov_dt_b_fed_asin_title&th=1

Die Maus funktioniert zwar an meinem Linux (alter Fujitsu Esprimo mit PS/2 Anschlüssen) einwandfrei, will aber am NKC (TangNano) nicht, getestet mit MINE:
Maus wird erkannt, Zeiger ist da, Mausbewegung ein paar kurze Zuckungen - tot.
Die Maus macht 125 Hz, 1000 Lines/inch
Hab da mal ein wenig recherchiert. ist wohl ein Timingproblem, das mit den alten Mäusen nicht auftritt und das PS/2-Protokoll wohl heikel ist. Dann las ich was mit 3-Byte bei alten Mäsuen und 4-Byte Übertragung bei Mäusen mit 3-Tasten und Rad.
Ich möchte das aber nicht vertiefen, weil ich da im Grunde keine Ahnung habe. Ergo: Die Maus ist zu modern....

Kann da am NKC was gefummelt werden? Die Maus ist günstig und ich weiß nicht, ob ich noch eine Alte kriege (ich versuche das mal im anderen Forum).

Bringt da eine Umstellung auf den 68020 mit dem aktuellen FPGA vielleicht etwas (anderer Thread mit LVGL - interessant!), wenn die Power besser ist?

VG Jürgen

-----------------------
Nach vielen Jahren ging es mit dem NKC wieder los.... Sehr spannend!

Beiträge: 209 | Mitglied seit: Juni 2025 | IP-Adresse: nicht gespeichert
tuti
Voll in Gange
***
ID # 225


  Erstellt am 14. Februar 2026 13:49 (#14)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Ich las gerade schon dein Gesuch bei CC... ;)

Ich habe diverse alte PS/2-Mäuse. Allerdings nicht alle am Tang Nano getestet. Werde ich mal tun. Da sollte sich was finden lassen.

Wie alt darf es denn sein? Auch Kugel? Oder doch lieber optisch?

-----------------------
Definitiv sind Frösche und Himbeeren am besten!

Beiträge: 577 | Mitglied seit: Juli 2022 | IP-Adresse: nicht gespeichert
redo
Stammgast
**
ID # 245


  Erstellt am 14. Februar 2026 17:07 (#15)  |  Zitat Zitat   PN PN   E-Mail E-Mail   HP HP
Hallo Torsten,
danke für Deine Hilfe.
Natürlich ist eine optische Maus schon schöner, weil mein Basteltisch nicht gerade eben ist. Aber in der Not nehme ich, wie früher, ein Mauspad drunter. Dann klappt das auch mit der Kugel.
Melde Dich doch, wenn Du was gefunden hast.
VG Jürgen

-----------------------
Nach vielen Jahren ging es mit dem NKC wieder los.... Sehr spannend!

Beiträge: 209 | Mitglied seit: Juni 2025 | IP-Adresse: nicht gespeichert
tuti
Voll in Gange
***
ID # 225


  Erstellt am 14. Februar 2026 17:32 (#16)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Hi.

Ich habe gewühlt und getestet. Mit interessantem Ergebnis!

Im Rennen sind drei Mäuse:
  • MAXDATA-gelabelte Kugelmaus mit PS/2
  • Microsoft-Maus optisch mit USB und Adapter zu PS/2
  • Logitech-Maus optisch mit USB und Adapter zu PS/2

Die Microsoft-Maus funktioniert nicht (leuchtet nicht mal; als würde sie gar nicht initialisiert werden), die anderen beiden funktionieren. Und die MAXDATA ist im Kleingedruckten unten drunter dann auch eine Logitech. Irgendwas macht Logitech da anders. Und eben richtig!

Die Kugelmaus hat allerdings eine sehr unglückliche Auflösung. Schon für Minesweeper muss man über den halben Tisch rollen. So nicht praxistauglich.

Ich werde dir daher mal die letzte Maus aus der Liste zukommen lassen. An die bekannte Adresse?

-----------------------
Definitiv sind Frösche und Himbeeren am besten!

Beiträge: 577 | Mitglied seit: Juli 2022 | IP-Adresse: nicht gespeichert
redo
Stammgast
**
ID # 245


  Erstellt am 14. Februar 2026 19:50 (#17)  |  Zitat Zitat   PN PN   E-Mail E-Mail   HP HP
Hallo Torsten,
ja das wäre Klasse!
Die Adresse ist geblieben.
Wegen dem Aufwand schreiben wir eine PM, ok? (Ich nehme die Suche drüben bei den Anderen dann wieder raus...)
Besten Dank.
VG Jürgen

-----------------------
Nach vielen Jahren ging es mit dem NKC wieder los.... Sehr spannend!

Beiträge: 209 | Mitglied seit: Juni 2025 | IP-Adresse: nicht gespeichert
andi
Fühlt sich wie zu Hause
***
ID # 213


  Erstellt am 16. Februar 2026 18:12 (#18)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Hallo Jürgen,
Ich hab mir nun auch die Perixx Maus von Amazon besorgt und bei mir funktioniert diese einwandfrei am Tang-Nano!
Check bei deinem Board nochmal die Lötstellen rund um die PS2 Buchse sowie das zugehörige SMD Kleinzeug.
Ich denke da ist bei deinem Board noch was faul!
LG Andi

Beiträge: 470 | Mitglied seit: Mai 2021 | IP-Adresse: nicht gespeichert
redo
Stammgast
**
ID # 245


  Erstellt am 16. Februar 2026 20:12 (#19)  |  Zitat Zitat   PN PN   E-Mail E-Mail   HP HP
Hallo Andi,
das mache ich. Torsten schickt mir uch gerade eine ältere Maus. Dann kann ich vergleichen. Danke für den Test.
VG Jürgen

-----------------------
Nach vielen Jahren ging es mit dem NKC wieder los.... Sehr spannend!

Beiträge: 209 | Mitglied seit: Juni 2025 | IP-Adresse: nicht gespeichert
redo
Stammgast
**
ID # 245


  Erstellt am 19. Februar 2026 13:26 (#20)  |  Zitat Zitat   PN PN   E-Mail E-Mail   HP HP
Hallo Andi,
die Maus von Torsten ist gerade gekommen. Es ist eine Logitech MX-310 mit 800 dpi und kombinierter USB-PS/2 Schnittstelle.
Sie funktioniert an meinem TangNano sofort mit Mine als Testprogramm.
Ich hatte mir vorher schon die Lötstellen und Bauteile in der Nähe des PS/2-Anschlusses untersucht, aber keine sichtbaren Probleme feststellen können.

Jetzt wäre die Frage, nachdem ja die Perixx Perimice-209 bei Dir funktioniert, welche .fs Du auf Deinem TangNano betreibst. Ich nehme an, den 68020 mit voller Geschwindigkeit. Das würde für mich das angedeutete Sync-Problem erklären (125 Hz, 1000 dpi). Da kommt mein 68000er nicht mit. Kann das sein?

Aber, ich habe eine Maus und jetzt kann ich mal Experimente in dieser Richtung starten....

VG Jürgen

-----------------------
Nach vielen Jahren ging es mit dem NKC wieder los.... Sehr spannend!

Beiträge: 209 | Mitglied seit: Juni 2025 | IP-Adresse: nicht gespeichert



| https://nkcforum.de | Boardregeln | Datenschutzerklärung


Tritanium Bulletin Board 1.8
© 2010–2021 Tritanium Scripts


Seite in 0,104158 Sekunden erstellt
18 Dateien verarbeitet
gzip Komprimierung eingeschaltet
2287,03 KiB Speichernutzung