
KeylessUniversal

local UserInputService = game:GetService("UserInputService")
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")
-- 1. Create ScreenGui
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "KeyOverlayGui"
screenGui.ResetOnSpawn = false
screenGui.Parent = playerGui
-- 2. Create Container Frame (Compact & Small)
local container = Instance.new("Frame")
container.Name = "KeyContainer"
container.Size = UDim2.new(0, 150, 0, 100)
container.Position = UDim2.new(0.02, 0, 0.75, 0) -- Bottom-left corner
container.BackgroundTransparency = 1
container.Parent = screenGui
-- Styling Constants
local DEFAULT_COLOR = Color3.fromRGB(230, 230, 230)
local PRESSED_COLOR = Color3.fromRGB(100, 180, 255)
local TEXT_DEFAULT = Color3.fromRGB(80, 140, 220)
local TEXT_PRESSED = Color3.fromRGB(255, 255, 255)
-- Helper function to create styled key buttons
local function createKeyButton(name, text, position, size)
local frame = Instance.new("Frame")
frame.Name = name
frame.Size = size
frame.Position = position
frame.BackgroundColor3 = DEFAULT_COLOR
frame.BackgroundTransparency = 0.2
frame.BorderSizePixel = 0
frame.Parent = container
local uiCorner = Instance.new("UICorner")
uiCorner.CornerRadius = UDim.new(0, 8)
uiCorner.Parent = frame
local label = Instance.new("TextLabel")
label.Name = "Label"
label.Size = UDim2.new(1, 0, 1, 0)
label.BackgroundTransparency = 1
label.Text = text
label.TextColor3 = TEXT_DEFAULT
label.TextSize = 22
label.Font = Enum.Font.FredokaOne
label.Parent = frame
return frame
end
-- 3. Create Key Frames (W, A, S, D Layout)
local keys = {
W = createKeyButton("W", "W", UDim2.new(0, 52, 0, 0), UDim2.new(0, 45, 0, 45)),
A = createKeyButton("A", "A", UDim2.new(0, 3, 0, 50), UDim2.new(0, 45, 0, 45)),
S = createKeyButton("S", "S", UDim2.new(0, 52, 0, 50), UDim2.new(0, 45, 0, 45)),
D = createKeyButton("D", "D", UDim2.new(0, 101, 0, 50), UDim2.new(0, 45, 0, 45)),
}
-- Mapping KeyCodes to GUI Frames
local keyMapping = {
[Enum.KeyCode.W] = keys.W,
[Enum.KeyCode.A] = keys.A,
[Enum.KeyCode.S] = keys.S,
[Enum.KeyCode.D] = keys.D,
}
-- 4. Listen for Key Presses
UserInputService.InputBegan:Connect(function(input, gameProcessed)
if gameProcessed then return end
local keyFrame = keyMapping[input.KeyCode]
if keyFrame then
keyFrame.BackgroundColor3 = PRESSED_COLOR
keyFrame.Label.TextColor3 = TEXT_PRESSED
end
end)
UserInputService.InputEnded:Connect(function(input, gameProcessed)
local keyFrame = keyMapping[input.KeyCode]
if keyFrame then
keyFrame.BackgroundColor3 = DEFAULT_COLOR
keyFrame.Label.TextColor3 = TEXT_DEFAULT
end
end)No comments yet for this script.



