You have to think about what you have access to.
In ROBLOX, in order to grab user input and do something with it, you have to use a LocalScript. For the purposes of this tutorial, I will assume you're not using Filtering.
The way I prefer to handle user input is the UserInputService. This service contains a multitude of events for input events, including those exclusive to Touch devices.
One of these events is called InputBegan. Is is equivalent to KeyDown, but has unique 'keycodes' for every key. You are given a singular "UserInputObject" when you connect all events with UserInputService, so some sanity checking is required to access anything safely:
local uis = Game:GetService("UserInputService")
local sound = Workspace.Part1.Sound
uis.InputBegan:connect(function(inst)
if inst.UserInputType = Enum.UserInputType.Keyboard then
if inst.KeyCode = Enum.KeyCode.V then
sound:Play()
end
end
end)