Ps2 mouse serial


















Back in the old days ? HTM Cant locate any video from that keynote, maybe Microsoft enforced no filming rule after their Comdex BSOD live on stage performance : I even have one of the original Intellimouse Explorers, sadly unusable, 17 year old scroll wheel rubber is seeping elastomer?

I built such a converter around an Attiny about 4 or 5 years ago. I thought I was a hoarder. I guess not. I have long since disposed of all those mouse adapter dongles. I do however still have one of the very first Microsoft Optical Wheel mice pre-Intellimouse from and it still works perfectly.

However, other than retro-computing or a museum, why would you still be rocking Win 3. No, wait. You probably meant I have a number of old working serial mice stashed away in a box : One of them is incredibly clunky Genius that looks like a rectangle from above, and is just slightly curved on the upper surface.

I still have a few boards laying around as well … Never know when the war will break out again :. Probably a couple of serial ones lurking in the back boxes. Also got one around somewhere that the designer tried hard not to put a curve in, angled flats on top of it.

Think I have at least 2 boards also, I think I kind of accidentally acquired those. Sorry, not meaning to troll, just wanted to clear the air a bit. This stuff is my obsession…. I called it the Mecano set of computer as there were simple tabs that you lift with your finders to remove components like a floppy HDD etc.

The bus mouse itself had no active components. It was literally encoders and buttons wired out to a DIN-9 plug. There were no standards at this time, everyone rolled their own, and PCs did not come with serial or parallel ports, you bought an ISA card for everything.

That chip was available but expensive, complicated and not ideal in many other ways. InPort supported not only mouse, but other protocols such as joystick, interrupt reassignment, edge vs level triggering, and multiple devices. However, it was only actually sold on the bus mouse ISA card and never got to use its other features, as the microcontroller market exploded with cheaper solutions before its other modes could be exploited, and the serial port became the ubiquitous ISA card that most folks bought for modems and other peripherals, along with the parallel card for their printer.

PS2 added support for the mouse, including controls for mouse resolution, and keyboard controls to change Scan Sets. Later the protocol was extended for Thinkpad TrackPoint eraser pointers. That was a hackjob that broke many KVM switches.

But that is another story. We fired that intern. It all fits in a 9-way D shell and runs on a PIC. Please be kind and respectful to help make the comments section excellent.

Comment Policy. This site uses Akismet to reduce spam. Learn how your comment data is processed. By using our website and services, you expressly agree to the placement of our performance, functionality and advertising cookies.

Learn more. Report comment. They also sold them for Macs as well. I understand they were really good for the time. RS is single-ended too, but is asynchronous, there is no clock.

From memory the mouse side was open collector. In any case, why are we measuring delays in millisiemens? If the host wants to send data, it must first inhibit communication from the device by pulling Clock low. The host then pulls Data low and releases Clock. This is the "Request-to-Send" state and signals the device to start generating clock pulses. The parity bit is set if there is an even number of 1's in the data bits and reset 0 if there is an odd number of 1's in the data bits.

The number of 1's in the data bits plus the parity bit always add up to an odd number odd parity. This is used for error detection. Data sent from the device to the host is read on the falling edge of the clock signal; data sent from the host to the device is read on the rising edge. The clock frequency must be in the range 10 - This means clock must be high for 30 - 50 microseconds and low for 30 - 50 microseconds..

The Data and Clock lines are both open collector. When the keyboard or mouse wants to send information, it first checks the Clock line to make sure it's at a high logic level.

If it's not, the host is inhibiting communication and the device must buffer any to-be-sent data until the host releases Clock. The Clock line must be continuously high for at least 50 microseconds before the device can begin to transmit its data. As I mentioned in the previous section, the keyboard and mouse use a serial protocol with bit frames. These bits are:. Figure 2: Device-to-host communication.

The Data line changes state when Clock is high and that data is valid when Clock is low. Figure 3: Scan code for the "Q" key 15h being sent from a keyboard to the computer. Channel A is the Clock signal; channel B is the Data signal. The clock frequency is The time from the rising edge of a clock pulse to a Data transition must be at least 5 microseconds. The time from a data transition to the falling edge of a clock pulse must be at least 5 microseconds and no greater than 25 microseconds.

The host may inhibit communication at any time by pulling the Clock line low for at least microseconds. If a transmission is inhibited before the 11th clock pulse, the device must abort the current transmission and prepare to retransmit the current "chunk" of data when host releases Clock.

A "chunk" of data could be a make code, break code, device ID, mouse movement packet, etc. For example, if a keyboard is interrupted while sending the second byte of a two-byte break code, it will need to retransmit both bytes of that break code, not just the one that was interrupted.

However, if new data is created that needs to be transmitted, it will have to be buffered until the host releases Clock. Keyboards have a byte buffer for this purpose. In case of problems, also try the Mouse Systems protocol when possible, since it has no handshake requirement the RTS can simply be jumpered permanently. Also try the debug mode at bps on the same serial port and view the data in a terminal program. Send a question mark? The DIP switches take effect only on reset, so you may test the correct operation of the switches in debug mode.

EXE or equivalent. Also try a different mouse driver. This happens by simultaneously holding down all three main buttons left, middle, right and turning the wheel. Wheel up slows down the mouse increases the divisor and wheel down speeds it up. The setting can be persisted across restarts by pressing and then releasing the right button while holding down the middle button.

Obviously this requires the mouse to have a wheel, but I figure pre-wheel mice are probably not too fast in the first place. However, the divisor may also be set by sending the corresponding single-digit number over the serial port. It is also possible to define it at compile-time as follows:. This compile-time setting disables the loading and saving of the setting, but still allows on-the-fly adjustment with the wheel.

Using the wheel or serial port input method to set the divisor to 0 also enables scaling with no divisor i. Skip to content. Star 1. Branches Tags. Could not load branches. Could not load tags. Latest commit. Git stats 22 commits.



0コメント

  • 1000 / 1000