user48579: 
Bear with me here, I'm new to arduinos, so what I'm saying might only make sense in my own mind.
I'm trying a button matrix and I not completely sure on my wiring and I have a few questions.

Is the diagram correct?
I wire D2 to D3 and set them to output and input respectively. In the code I digital write to D2 a HIGH, will D3 then read high? 
What is the best way to read the state of each button? Is there a Library that can simplify it?

I'm sorry if this is all just confused gibberish.
EDIT: I got the idea from this video, which explains some of it, but no code. He however uses an arduino micro.
EDIT #2: I realized I wired the buttons incorrectly.

user48579: @Jot commented to use the Keypad Library. Which I got to work using the tutorial. Took a few minutes to set up.

48579: <p><a href="https://i.stack.imgur.com/g6oHI.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/g6oHI.png" alt="enter image description here"></a></p>

<p>Bear with me here, I'm new to arduinos, so what I'm saying might only make sense in my own mind.</p>

<p>I'm trying a button matrix and I not completely sure on my wiring and I have a few questions.</p>

<ol>
<li>Is the diagram correct?</li>
<li>I wire D2 to D3 and set them to output and input respectively. In the code I digital write to D2 a HIGH, will D3 then read high? </li>
<li>What is the best way to read the state of each button? Is there a Library that can simplify it?</li>
</ol>

<p>I'm sorry if this is all just confused gibberish.</p>

<p>EDIT: I got the idea from this <a href="https://www.youtube.com/watch?v=Z7Sc4MJ8RPM" rel="nofollow noreferrer">video</a>, which explains some of it, but no code. He however uses an arduino micro.</p>

<p>EDIT #2: I realized I wired the buttons incorrectly.</p>
 48579: <p>@Jot commented to use the <a href="http://playground.arduino.cc/Code/Keypad" rel="nofollow noreferrer">Keypad Library</a>. Which I got to work using the <a href="https://playground.arduino.cc/Main/KeypadTutorial" rel="nofollow noreferrer">tutorial</a>. Took a few minutes to set up.</p>
