Keyboard Dose not name a type

I have just boucght a Arduino Mega 2560 board and decieded to tinker about with the keyboard outputs you can do with it (waiting on a kit in the mail), all im trying to do is make the arduino type "Hello World!"
but it continues to give me an error that i have tryed to google my self and fix it and after 4 hours of looking from post to post from other people im still lost! any help please.

#include <Keyboard.h>
Keyboard kb
void setup() {
kb.print("Hello World!");

void loop() {
digitalWrite(LED_BULTIN, HIGH);
digitalWrite(LED_BULTIN, LOW);

Arduino: 1.8.2 (Windows 10), Board: "Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)"

In file included from E:\Users\Blaise\Documents\Arduino\libraries\Hello_World_print\Hello_World_print.ino:2:0:

C:\Program Files (x86)\Arduino\libraries\Keyboard\src/Keyboard.h:29:2: warning: #warning "Using legacy HID core (non pluggable)" [-Wcpp]

#warning "Using legacy HID core (non pluggable)"


Hello_World_print:3: error: 'Keyboard' does not name a type

Keyboard kb


E:\Users\Blaise\Documents\Arduino\libraries\Hello_World_print\Hello_World_print.ino: In function 'void setup()':

Hello_World_print:5: error: 'kb' was not declared in this scope



E:\Users\Blaise\Documents\Arduino\libraries\Hello_World_print\Hello_World_print.ino: In function 'void loop()':

Hello_World_print:12: error: 'LED_BULTIN' was not declared in this scope

digitalWrite(LED_BULTIN, HIGH);


exit status 1
'Keyboard' does not name a type

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

Look here:

First sentence on the page says it all. You need a Leonardo or one of the 32u4 based boards like it or a Due or a Zero. Keyboard.h doesn't work with a mega or 2560 based board.

Keyboard kb