Got it working!!! Thanks a million johnwasser 
I missed setting the 7 pin as on output and was using the common as the INHIBIT. I fixed those then it started working. Just had to fix a few issue with the keyboard map that I had wrong and everything is right with my project now. Updated code is below.
///////////////////////////////////////////////////////////////////////////
//Verbatim Bluetooth Mobile Keyboard Arduino Controller //
//Model #:FDIK-BT //
//Re-order #:97537 //This number shows up in red on the barcode //
///////////////////////////////////////////////////////////////////////////
////////4051 Arduino pin map//////////
// 4051 Chip 1 pins s0 4 s1 3 s2 2 //
// 4051 Chip 2 pins s0 7 s1 6 s2 5 //
// 4051 Chip 3 pins s0 10 s1 9 s2 8 //
/////////////////////////////////////////
//-Keyboard Map-----------------------------------------------------------
//----------------------------------Output pins---------------------------
// Pins 13 14 15 16 17 18 19 20
// 1
// 2
// 3
// 4 0 - Enter p
// 5 9 \ L o
// 6 8 / ' K i
// 7 7 6 n M h J Y u
// 8 4 5 b V g F T r
// 9 3 C D e
// 10 2 X S w
// 11 1 Z A q
// 12
//-----------------------------------------------------------------------
//The first deminsion array item numbers correspond with the keyboard matrix pins
//The second demninsion array item number correspond with the truth tables state for the pins
int pins[21][6] = {
{0, 0, 0, 0 ,0 ,0}, //leave empty so pin numbers match
{0, 0, 0, 0 ,0 ,0}, //bt keyboard pin 1 unused
{0, 0, 0, 0 ,0 ,0}, //bt keyboard pin 2 unused
{0, 0, 0, 0 ,0 ,0}, //bt keyboard pin 3 unused
{4, 3, 2, 0 ,0 ,1}, //bt keyboard pin 4 on chip 1 pin y4
{4, 3, 2, 1 ,0 ,1}, //bt keyboard pin 5 on chip 1 pin y5
{4, 3, 2, 0 ,1 ,1}, //bt keyboard pin 6 on chip 1 pin y6
{4, 3, 2, 1 ,1 ,1}, //bt keyboard pin 7 on chip 1 pin y7
{7, 6, 5, 0 ,1 ,0}, //bt keyboard pin 8 on chip 2 pin y2
{7, 6, 5, 1 ,1 ,0}, //bt keyboard pin 9 on chip 2 pin y3
{7, 6, 5, 0 ,0 ,1}, //bt keyboard pin 10 on chip 2 pin y4
{7, 6, 5, 1 ,0 ,1}, //bt keyboard pin 11 on chip 2 pin y5
{0, 0, 0, 0 ,0 ,0}, //bt keyboard pin 12 unused
{10, 9, 8, 0 ,0 ,0}, //bt keyboard pin 13 on chip 3 pin y0
{10, 9, 8, 1 ,0 ,0}, //bt keyboard pin 14 on chip 3 pin y1
{10, 9, 8, 0 ,1 ,0}, //bt keyboard pin 15 on chip 3 pin y2
{10, 9, 8, 1 ,1 ,0}, //bt keyboard pin 16 on chip 3 pin y3
{10, 9, 8, 0 ,0 ,1}, //bt keyboard pin 17 on chip 3 pin y4
{10, 9, 8, 1 ,0 ,1}, //bt keyboard pin 18 on chip 3 pin y5
{10, 9, 8, 0 ,1 ,1}, //bt keyboard pin 19 on chip 3 pin y6
{10, 9, 8, 1 ,1 ,1}, //bt keyboard pin 20 on chip 3 pin y7
};
int opins[10] = {2, 3 , 4 , 5 , 6, 7, 8, 9, 10,11};
int pinh = 11; //common input/output pin
int Delay = 35; //seems to be the scan time for the keyboard controller
void setup(){
Serial.begin(9600);
for (int i = 0; i < 10; i++){
pinMode(opins[i], OUTPUT);
}
digitalWrite(pinh, HIGH);
}
void loop () {
if (Serial.available() > 0) {
String chr = Serial.read();
//Enter and Dash key press
if (chr == "69"){Serial.println("E"); keyPress(4,16);}
if (chr == "45"){Serial.println("-"); keyPress(4,14);}
//0-9 key press
if (chr == "48"){Serial.println("0"); keyPress(4,13);}
if (chr == "49"){Serial.println("1"); keyPress(11,13);}
if (chr == "50"){Serial.println("2"); keyPress(10,13);}
if (chr == "51"){Serial.println("3"); keyPress(9,13);}
if (chr == "52"){Serial.println("4"); keyPress(8,13);}
if (chr == "53"){Serial.println("5"); keyPress(8,14);}
if (chr == "54"){Serial.println("6"); keyPress(7,14);}
if (chr == "55"){Serial.println("7"); keyPress(7,13);}
if (chr == "56"){Serial.println("8"); keyPress(6,13);}
if (chr == "57"){Serial.println("9"); keyPress(5,13);}
//a-z key press
if (chr == "97"){Serial.println("a"); keyPress(11,18);}
if (chr == "98"){Serial.println("b"); keyPress(8,15);}
if (chr == "99"){Serial.println("c"); keyPress(9,16);}
if (chr == "100"){Serial.println("d"); keyPress(9,18);}
if (chr == "101"){Serial.println("e"); keyPress(9,20);}
if (chr == "102"){Serial.println("f"); keyPress(8,18);}
if (chr == "103"){Serial.println("g"); keyPress(8,17);}
if (chr == "104"){Serial.println("h"); keyPress(7,17);}
if (chr == "105"){Serial.println("i"); keyPress(6,20);}
if (chr == "106"){Serial.println("j"); keyPress(7,18);}
if (chr == "107"){Serial.println("k"); keyPress(6,18);}
if (chr == "108"){Serial.println("l"); keyPress(5,18);}
if (chr == "109"){Serial.println("m"); keyPress(7,16);}
if (chr == "110"){Serial.println("n"); keyPress(7,15);}
if (chr == "111"){Serial.println("o"); keyPress(5,20);}
if (chr == "112"){Serial.println("p"); keyPress(4,20);}
if (chr == "113"){Serial.println("q"); keyPress(11,20);}
if (chr == "114"){Serial.println("r"); keyPress(8,20);}
if (chr == "115"){Serial.println("s"); keyPress(10,18);}
if (chr == "116"){Serial.println("t"); keyPress(8,19);}
if (chr == "117"){Serial.println("u"); keyPress(7,20);}
if (chr == "118"){Serial.println("v"); keyPress(8,16);}
if (chr == "119"){Serial.println("w"); keyPress(10,20);}
if (chr == "120"){Serial.println("x"); keyPress(10,16);}
if (chr == "121"){Serial.println("y"); keyPress(7,19);}
if (chr == "122"){Serial.println("z"); keyPress(11,16);}
}
}
void keyPress(int inputPin, int outputPin){
// //enable for debugging~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Serial.print("Input Pin: ");
// Serial.print(pins[inputPin][0]); Serial.print(pins[inputPin][1]); Serial.print(pins[inputPin][2]);
// Serial.print(pins[inputPin][3]); Serial.print(pins[inputPin][4]); Serial.println(pins[inputPin][5]);
//
// Serial.print("Output Pin: ");
// Serial.print(pins[outputPin][0]); Serial.print(pins[outputPin][1]); Serial.print(pins[outputPin][2]);
// Serial.print(pins[outputPin][3]); Serial.print(pins[outputPin][4]); Serial.println(pins[outputPin][5]);
// //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//set the output pin of the keyboard controller
digitalWrite(pins[outputPin][0], pins[outputPin][3]);
digitalWrite(pins[outputPin][1], pins[outputPin][4]);
digitalWrite(pins[outputPin][2], pins[outputPin][5]);
//Serial.println("");
//set the input pin of the keyboard controller
digitalWrite(pins[inputPin][0], pins[inputPin][3]);
digitalWrite(pins[inputPin][1], pins[inputPin][4]);
digitalWrite(pins[inputPin][2], pins[inputPin][5]);
//Chip 1 common connects to chip 2 y0
//to use chip 1 chip 2 has to be set to pin y0
//probably a better way to manage this but it works for now
if(inputPin >=4 && inputPin <=7){
//Serial.println("Chip 1 keypress");
//Serial.println("Setting Chip2 to y0");
digitalWrite(7,0);
digitalWrite(6,0);
digitalWrite(5,0);
}
// //enable for debugging~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// int val = 0;
// Serial.print("Input Pins: ");
// val = digitalRead(pins[inputPin][0]); Serial.print(val);
// val = digitalRead(pins[inputPin][1]); Serial.print(val);
// val = digitalRead(pins[inputPin][2]); Serial.println(val);
// //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//pull the common I/O pin low to connect the input and output pins
digitalWrite(pinh, LOW);
delay(Delay);
digitalWrite(pinh, HIGH);
// //enable for debugging~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Serial.print("Input Pins: ");
// val = digitalRead(pins[inputPin][0]); Serial.print(val);
// val = digitalRead(pins[inputPin][1]); Serial.print(val);
// val = digitalRead(pins[inputPin][2]); Serial.println(val);
// //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
}