Either way, we have the Constitution, which gives Americans the right to keep and bear arms. The only problem is that our Supreme Court has utilized its position, not to determine legallity, but to put forth its own political agenda, thus subverting the Constitution in the first place.
Minor quibble: the Constitution does not give anyone anything. It forbids the US federal government from infringing upon specified (enumerated) rights such as those contained in the Bill of Rights. By extension, the States are likewise forbidden from infringing on some of them (via the 14th Amendment).
That which is given can be taken away. The Constitution specifically says that we have our rights from our Creator, and no one may take them away for any reason whatsoever. There are governments which 'give' rights to their citizens; I feel our way is superior to theirs for that reason.