UserInputService works only on ENG Keyboard Layout

UserInputService reacts only to all letters that are in the American keyboard layout, but, for example, in Russian it does not work, why do I press the place where there is an American letter “C” and the Russian one is also in this place - but this is not implemented - why?

Code:

local function onInputBegan(input, gameProcessed)
	if input.KeyCode == Enum.KeyCode.LeftShift then
		shiftPressed = true
	elseif input.KeyCode == Enum.KeyCode.C then
		controlPressed = true
		if shiftPressed and not gameProcessed and run and isCrouching == false then
			if Humanoid.FloorMaterial == Enum.Material.Air then return end
			
			local camera = workspace.CurrentCamera
			local slideSpeed = 45 -- Начальная скорость слайда
			local deceleration = 2 -- Скорость замедления
			local lerpFactor = 0.05 -- Фактор интерполяции для плавного изменения направления
			
			kd = true
			Humanoid.HipHeight = 0.1
			run = false
			sliding = true
			Humanoid.Parent.Stats.Sliding.Value = true
			slided:Play(0.2)
			local ee = sound2:Clone()
			local sus = e:Clone()
			plr.Character.Stats.Inventory.Value = false
			sus.Parent = character["Left Leg"]
			sus.Smoke.Rate = 30
			ee.Parent = character.Torso
			Stamina.Value -= 25
			ee:Play()

			-- Устанавливаем BodyVelocity для начального толчка
			local boost = Instance.new("BodyVelocity")
			boost.MaxForce = Vector3.new(math.huge, 0, math.huge) * 45
			boost.Velocity = character.HumanoidRootPart.CFrame.LookVector * slideSpeed
			boost.Parent = character.HumanoidRootPart

			wait(0.3)

			-- Начинаем цикл, чтобы проверять состояние персонажа во время слайда
			while Humanoid.Parent.Stats.Sliding.Value == true do
				-- Обновляем направление слайда в зависимости от направления камеры
				local cameraDirection = camera.CFrame.LookVector
				boost.Velocity = boost.Velocity:Lerp(character.HumanoidRootPart.CFrame.LookVector * slideSpeed, lerpFactor) -- Плавное изменение направления

				-- Проверяем наличие преграды перед персонажем
				local rayOrigin = character.HumanoidRootPart.Position
				local rayDirection = character.HumanoidRootPart.CFrame.LookVector * 10 -- Длина луча
				local ray = Ray.new(rayOrigin, rayDirection)
				local hitPart, hitPosition = workspace:FindPartOnRay(ray, character)

				if hitPart then
					-- Если есть преграда, останавливаем слайд
					Humanoid.Parent.Stats.Sliding.Value = false
					break
				end

				if boost.Velocity.Magnitude > 5 then
					-- Проверяем, находится ли персонаж на земле
					local result = workspace:Raycast(character.HumanoidRootPart.Position, Vector3.new(0, -4.5, 0), params)

					if result then
						local slopeAngle = math.deg(math.acos(result.Normal:Dot(Vector3.new(0, 1, 0)))) -- угол наклона
						if slopeAngle < 10 then -- если угол наклона меньше 45 градусов
							-- Уменьшаем скорость
							slideSpeed = slideSpeed - deceleration
							if slideSpeed < 0 then
								slideSpeed = 0
							end
							boost.Velocity = boost.Velocity:Lerp(character.HumanoidRootPart.CFrame.LookVector * slideSpeed, lerpFactor) -- Плавное изменение направления
						else
							slideSpeed = slideSpeed + 1
							boost.Velocity = boost.Velocity:Lerp(character.HumanoidRootPart.CFrame.LookVector * slideSpeed, lerpFactor)
						end
					else
						Humanoid.Parent.Stats.Sliding.Value = false
						break
					end

					-- Устанавливаем WalkSpeed и JumpPower в 0, чтобы предотвратить движение
					Humanoid.WalkSpeed = 0
					Humanoid.JumpPower = 0
					wait(0.01) -- Небольшая пауза
				else
					-- Если скорость слишком низкая, останавливаем слайд
					Humanoid.Parent.Stats.Sliding.Value = false
					break
				end
			end

			-- Удаляем BodyVelocity после завершения слайда
			boost:Destroy()
			Humanoid.HipHeight = 0
			getuped:Play()
			slided:Stop(0.2)
			Humanoid.WalkSpeed = 13
			Humanoid.JumpPower = 45
			sus.Smoke.Rate = 0
			plr.Character.Stats.Inventory.Value = true
			if ee then
				ee:Destroy()
			end
			sus:Destroy()
			Humanoid.Parent.Stats.Sliding.Value = false
			sliding = false
			wait(4)
			kd = false
		end
	end
end

game.UserInputService.InputBegan:Connect(onInputBegan)

(sorry for my bad english heh)

fixed this issue - it’s can’t works because when u press Shift & C - it’s combine of clone anything to clipboard. (Change “C” to another key.)