SOLVED!!!
So dear Arduino Community,
because I believe in giving back, here is my solution to HOW TO REPLACE THE KEYBOARD WITH A MORSE KEY! But not before thanking all those who replied and especially Calvin who wrote the instructable (https://www.instructables.com/id/USB-Arduino-Morse-Code-Key/).
I am using an Arduino Leonardo, the circuit described in http://roboticadiy.com/arduino-tutorial-debounce-pushbutton/ and the following code:
#include <Keyboard.h>
#define morseKeyInputPin 2
#define buzzerPin 3
unsigned long morseTimeUnitInMs = 50;
unsigned long lastDownMillis = 0;
unsigned long lastUpMillis = 0;
boolean switchKeys;
String keyMap[][2] =
{
 {"AT", ".--"},
 {"CC", "-.-.-.-.-."},
 {"CV", "-.-....-"},
 {"CA", "-.-..-"},
 {"SW", "......."}
 //HERE YOU CAN MAP MORE KEYS!
};
String morseMap[][2] =
{
 { "A", ".-" },
 { "B", "-..." },
 { "C", "-.-." },
 { "D", "-.." },
 { "E", "." },
 { "F", "..-." },
 { "G", "--." },
 { "H", "...." },
 { "I", ".." },
 { "J", ".---" },
 { "K", "-.-" },
 { "L", ".-.." },
 { "M", "--" },
 { "N", "-." },
 { "O", "---" },
 { "P", ".--." },
 { "Q", "--.-" },
 { "R", ".-." },
 { "S", "..." },
 { "T", "-" },
 { "U", "..-" },
 { "V", "...-" },
 { "W", ".--" },
 { "X", "-..-" },
 { "Y", "-.--" },
 { "Z", "--.." },
 // backspace
 { "*", "......--" },
 // backspace | turned it quickly to the switch!
 { "SW", "........" },
 //switch to other keys
 { "1", ".----" },
 { "2", "..---" },
 { "3", "...--" },
 { "4", "....-" },
 { "5", "....." },
 { "6", "-...." },
 { "7", "--..." },
 { "8", "---.." },
 { "9", "----." },
 { "0", "-----" },
 { ".", ".-.-.-" },
 { ",", "--..--" },
 { "?", "..--.." },
 { "!", "-.-.--" },
 { ":", "---..." },
 { ";", "-.-.-." },
 { "(", "-.--." },
 { ")", "-.--.-" },
 { "\"", ".-..-." },
 { "@", ".--.-." },
 { "&", ".-..." },
};
String code = "";
void setup() {
 Keyboard.begin();
 Serial.begin(9600);
 pinMode(morseKeyInputPin, INPUT_PULLUP);
 pinMode(buzzerPin, OUTPUT);
 switchKeys = false;
}
void loop() {
 int morseKeyInputState = digitalRead(morseKeyInputPin);
 //Serial.println(morseKeyInputState);
 // run every 5 milliseconds
 if (millis() % 3 == 0) {
  if (morseKeyInputState == HIGH) {
   if (lastDownMillis == 0)
    lastDownMillis = millis();
  } else {
   if (lastDownMillis != 0) {
    unsigned long downTime = millis() - lastDownMillis;
    if (downTime > 100) {
     lastDownMillis = 0;
     if (downTime > 1000) {
     } else if (downTime > morseTimeUnitInMs * 8) {
      if (code == "") {
       Keyboard.print(" ");
      }
     } else if (downTime > morseTimeUnitInMs * 3) {
      code += "-";
     } else {
      code += ".";
     }
     lastUpMillis = millis();
    }
   }
   if (lastUpMillis != 0) {
    unsigned long upTime = millis() - lastUpMillis;
    if (upTime > morseTimeUnitInMs * 6) {
     String text = decode(code);
     type(text);
     lastUpMillis = 0;
     code = "";
    }
   }
  }
 }
 if (morseKeyInputState == HIGH) {
  analogWrite(buzzerPin, 230);
 } else {
  analogWrite(buzzerPin, 0);
 }
}
String decode(String morse) {
 Serial.println(morse);
 if (!switchKeys) {
  for (int i = 0; i < 49; i++) {
   if (morseMap[i][1] == morse)
    return morseMap[i][0];
  }
  return "";
 } else {
  for (int i = 0; i < 3; i++) {
   if (keyMap[i][1] == morse)
    return keyMap[i][0];
  }
 }
}
void type(String text) {
 if (text == "*") {
  Keyboard.write(178);
 } else if (text == "SW") {
  if (switchKeys == false) {
   switchKeys = true;
   Serial.print("Switched to TRUE!(other keys");
  } else {
   switchKeys = false;
   Serial.print("Switched to FALSE!(alphanumeric)");
  }
 } else if (text == "AT") {
  //THIS IS WERE I PRESSED THE COMBINATION ALT+TAB
  Keyboard.press(134);
  Keyboard.press(179);
  Keyboard.releaseAll();
 } else {
  Keyboard.print(text);
 }
}
With this code you can only "press" alt+tab. For more combinations, one will have to code it themselves... Yes there one can do it better and therefore i'll appreciate every feedback that you'll give me!
Thanks again and I hope you'll have fun keying!