14 pin Keypad?

Hi I'm completely new to arduino. I have a 3x4 keypad with 14 pins and I'm wondering how to hook it up. Most of the examples show a 14 pin keypad where usually only 7 work, but on mine all but one of the pins seem to be in use, the first pin is a common ground and pins 3-14 are for the 12 keys.
Would the code be any different from the one in the keypad example and how do I go about changing it? I would also like to know how to connect the keypad to the arduino UNO. Thanks

Could he set it up as 1x12 keypad?
Would have the advantage of being able to read multiple presses at one time, which the matrix does not.

1x12 would perhaps let the 12 individual buttons be used with the keypad library.

Do something like this.
Or use connect to a shift register, use the interrupt to have a latch pulse created to capture the data & shift it in.

Hi,
i have the same issue, i have a 14 pins keypad which pin 8 is the common pin, and the keypad works like this:
p1+p8 = 1
p5+p8 = 2
p11+p8 =3
p2+p8 = 4
p6+p8 = 5
p10+p8 = 6
p3+p8 = 7
p7+p8 = 8
p12+p8 = 9
p9+p8 = 0
p4+p8 = *
p13+p8 = #

i have tried capturing the presses using this code, but with no success:

const int buttonPin[] = { 30, 31, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13 };     // the number of the pushbutton pin
const int ledPin =  13;      // the number of the LED pin
const int pinCount = 13;
// variables will change:
boolean buttonState = LOW;         // variable for reading the pushbutton status
int delayms = 500;


void setup() {
// initialize the LED pin as an output:
	pinMode(ledPin, OUTPUT);      
	//int thisPin;
	// the array elements are numbered from 0 to (pinCount - 1).
	// use a for loop to initialize each pin as an output:
	for (int thisPin = 0; thisPin < pinCount; thisPin++)  {
		pinMode(buttonPin[thisPin], INPUT);      
	}
	Serial.begin(9600);
}


void loop(){
int thisPin;
while (buttonState == LOW)
	{
		for (thisPin = 0; thisPin < pinCount; thisPin++)
		{
			buttonState = digitalRead(buttonPin[thisPin]);
			if (buttonState == HIGH)
			{	
				buttonState = keyPressed(buttonPin[thisPin]);
			}
		}
	}
}

void flash(int whichPin)
{
	for (int x=0; x <=whichPin; x++)
	{
		digitalWrite(ledPin,HIGH);
		delay(delayms);
		digitalWrite(ledPin,LOW);
	}
}
boolean keyPressed(int thisPin2)
{
	//boolean buttonPress = digitalRead(buttonPin[thisPin2]);
		switch (thisPin2) {
			case 30:    // your hand is on the sensor
				Serial.println("1");
				flash(thisPin2);
				return LOW;
			case 31:    // your hand is close to the sensor
				Serial.println("4");
				flash(thisPin2);
				return LOW;
			case 2:    // your hand is a few inches from the sensor
				Serial.println("7");
				flash(thisPin2);
				return LOW;
			case 3:    // your hand is nowhere near the sensor
				Serial.println("*");
				flash(thisPin2);
				return LOW;
			case 4:    // your hand is on the sensor
				Serial.println("2");
				flash(thisPin2);
				return LOW;
			case 5:    // your hand is close to the sensor
				Serial.println("5");
				flash(thisPin2);
				return LOW;
			case 6:    // your hand is a few inches from the sensor
				Serial.println("8");
				flash(thisPin2);
				return LOW;
			case 8:    // your hand is nowhere near the sensor
				Serial.println("0");
				flash(thisPin2);
				return LOW;
			case 9:    // your hand is close to the sensor
				Serial.println("6");
				flash(thisPin2);
				return LOW;
			case 10:    // your hand is a few inches from the sensor
				Serial.println("3");
				flash(thisPin2);
				return LOW;
			case 11:    // your hand is nowhere near the sensor
				Serial.println("9");
				flash(thisPin2);
				return LOW;
			case 12:    // your hand is nowhere near the sensor
				Serial.println("#");
				flash(thisPin2);
				return LOW;
		}
}

the pin layout on the arduino mega is:
k1 --> p30
k2 --> p31
k3 --> p2
k4 --> p3
k5 --> p4
k6 --> p5
k7 --> p6
k8 --> gnd
k9 --> p8
k10 --> p9
k11 --> p10
k12 --> p11
k13 --> p12
k14 --> p13
any ideas why it's not working?

thanks
Mor