Giter Site home page Giter Site logo

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 or Atmega32U4 board 
      (such as Minimus 32 AVR or Pro Micro (with LUFA Bootloader - 
	   http://www.stanleylio.com/home/usblufa ))
 - 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

Minimus   Pro Micro    Amiga (Bus Mouse) Mouse port
PB4       PF4          H(XA)
PB5       PF5          HQ(XB)
PB6       PF6          V(YA)
PB7       PF7          VQ(YB)
PC4       PB4          LEFT MOUSE BUTTON
PC5       PB5          RIGHT MOUSE BUTTON
PC6       PB6          MIDDLE MOUSE BUTTON
GND       GND          GND

Minumus   Pro Micro    Amiga Keyboard Port
PD0       PD0          CLOCK
PD1       PD1          DATA
GND       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 Ctrl+Super+Super will reboot the Amiga.

avr-amiga-controller's People

Contributors

patrikaxelsson avatar 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.