##Problem
It appears, this was when I just tested your script in studio, that the Shift + ' (which is the ") will only post quotes in the output (hard to explain). With keydown there are some keys that are able to be picked up by the event and therefore will not work. However sometimes you would need to mess around with the function to try and get it to detect if you're holding shift and are at the same time pressing '.
##Solution
Use another tactic and use a different service. As you can see in the link you posted the event is deprecated. You should not be using it in new works. It is recommended you use UserInputService, in this case it is easier. You would want to use the InputBegan event and compare KeyCodes to find if a user is using double quotes. With this service it is easier to detect certain keys, and they do not get canceled out in favor of Roblox keys like KeyDown does.
##Final Script
game:GetService('UserInputService').InputBegan:connect(function(Input, GameProcessed)
if Input.KeyCode == Enum.KeyCode.QuotedDouble and not GameProcessed then
TextBox:CaptureFocus()
end
end)
######Hopefully this answered your question, if so do not forget to hit the accept answer button. If you have any questions feel free to post them in the comments below.