I am new to Arduino and to electronics. Though, I already managed to do the basics with LEDS and some sensors. I would like some help to make my arduino behave as a keyboard. For example, I want to send "keypress" to an application when a LED is ON or a Button pushed. So when button "a" is pressed I want my application to do something and when button "b" is pressed to do something else. Another example is to write text to Windows text-editor. Is that possible with UNO. I bought it yesterday and one day after they told me that LEONARDO can do it =( but they are not sure if UNO can do it.
I don't have spare money to spend so if somebody has an idea please share it with me.
You can do that with an UNO but it's a lot easier with a Leonardo.
With the UNO you have to get an ICSP programmer to change the firmware of the USB "co-processor" on the UNO (ATmega16U2) so that it acts as a HID (Human Interface Device) endpoint. The problem is, that from then you cannot use the serial interface for debugging because the serial stuff is interpreted as key presses which then are sent to the connected PC as keyboard events.
Because the Leonardo has the USB interface directly in the main processor it's much easier to have both, a serial device and a HID endpoint.
You beilieve that is better keep the UNO or return it and take the LEONARDO. Are the capabilities the same (except for the keyboard - mouse thing) or you believe that UNO is better (has more capabilities)? Will I regret returning UNO?
The capabilities of the Leonardo are slightly better (p.e. 2.5kB RAM instead of 2kB), so you probably won't regret replacing the UNO with a Leonardo. Keep in mind that the Leonardo uses a different processor, some pins are multiplexed differently and many shields are only compatible with the UNO without tweaks. All the official Arduino shields are compatible with all Arduinos so you won't get problems with the Ethernet shield or the WiFi shield for example. The vast majority of shields work with the UNO, some of them may have problems with the Leonardo. The SPI and I2C interfaces are on different pins for example.
For the Leonardo you'll find examples in the IDE how to activate the mouse or keyboard functionality, this should be pretty easy. For your project the Leonardo is clearly the better choice.