GithubHelp home page GithubHelp logo

sdursun / avr-amiga-controller Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ali1234/avr-amiga-controller

0.0 0.0 0.0 124 KB

Control an Amiga and PC with the same kb&mouse

C++ 5.38% C 94.62%

avr-amiga-controller's Introduction

avr-amiga-controller
--------------------

This software will allow you to control an Amiga using your
PC keyboard and mouse - without unplugging them from your
PC.

It works as follows:

 - You run a synergy server on your PC (http://synergy-foss.org)
 - You configure a hotkey to switch to screen "amiga".
 - The input from PC is redirected to the synergy-hw client
      (Find this in the hostapp directory.)
 - The firmware is flashed to an Atmega32U2 board 
      (such as minimus 32 AVR)
 - synergy-hw streams input to the AVR.
 - The AVR emulates bus mouse and amiga keyboard signals 
       (at hardware level)

Of course, you also need to build correct cabling to connect the AVR
to the Amiga keyboard and mouse ports. The mapping is like this

AVR           Amiga (Bus Mouse) Mouse port
PB4           XA
PB5           XB
PB6           YA 
PB7           YB
PC4           LEFT MOUSE BUTTON
PC5           RIGHT MOUSE BUTTON
PC6           MIDDLE MOUSE BUTTON
GND           GND

AVR           Amiga Keyboard Port
PD0           CLOCK
PD1           DATA
GND           GND

To compile it, you need to get LUFA library and put the path in
the firmware/Makefile. Then run make from top level to build both
parts of the software.

To flash the firmware to your board and to run synergy-hw you need 
to give your user permission on the AVR usb device. Put this in
/etc/udev/rules.d/minimus.rules:

SUBSYSTEM=="usb", ACTION=="add", ATTR{idVendor}=="03eb", ATTR{idProduct}=="*", GROUP="plugdev"
SUBSYSTEM=="usb", ACTION=="add", ATTR{idVendor}=="f055", ATTR{idProduct}=="*", GROUP="plugdev"

(First line is for the bootloader, for flashing. Second line is the 
device when running this firmware. Your user needs to be in group 
plugdev.)

Make a synergy.conf like this:

section: screens
  linux:
  amiga:
end

section: options
  keystroke(super+a) = lockCursorToScreen(on), switchToScreen(amiga)
  keystroke(super+z) = switchToScreen(linux), lockCursorToScreen(off)
  relativeMouseMoves = true
end

Launch synergys using this config:

synergys -f -c synergy.conf -n linux

Launch synergy-hw (no argument necessary, screen name and server 
                   address are hardcoded)

Press windows-a to flip to Amiga
Press windows-z to return to PC.

While controlling Amiga, pressing End will reboot the Amiga.

avr-amiga-controller's People

Contributors

ali1234 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.