local PANEL = {} function PANEL:Init() local w, h = ScrW()/6, ScrH()/8 self:SetSize(w, h) h = h*13/16 self.btnw = w*3/8 self.btnh = h*3/8 self.keyboard = {buttons = {}} local function DoClick(btn) for k,v in pairs(self.keyboard.buttons) do if(v.btn) then v.btn:SetToggle(false) end end btn:SetToggle(true) self.keyboard.buttons.curkey = btn self.keyboard.DoClick(self, btn) end local function UpdateColours(self, skin) if ( self:GetDisabled() ) then return self:SetTextStyleColor( skin.Colours.Button.Disabled ) end if ( self:GetToggle() || self.Depressed || self.m_bSelected ) then return self:SetTextStyleColor( skin.Colours.Button.Down ) end if ( self.Hovered ) then return self:SetTextStyleColor( skin.Colours.Button.Hover ) end return self:SetTextStyleColor( skin.Colours.Button.Normal ) end --btns self.mouse1 = vgui.Create("DButton", self) self.mouse1:SetSize(self.btnw, self.btnh) self.mouse1.DoClick = DoClick self.mouse1.UpdateColours = UpdateColours self.mouse1:SetFont("DermaDefaultBold") self.mouse1:SetText("MOUSE1") self.keyboard.buttons["mouse1"] = {btn = self.mouse1, name = "mouse1"} self.mouse2 = vgui.Create("DButton", self) self.mouse2:SetSize(self.btnw, self.btnh) self.mouse2:SetPos(0, h*5/8) self.mouse2.DoClick = DoClick self.mouse2.UpdateColours = UpdateColours self.mouse2:SetFont("DermaDefaultBold") self.mouse2:SetText("MOUSE2") self.keyboard.buttons["mouse2"] = {btn = self.mouse2, name = "mouse2"} self.mouse3 = vgui.Create("DButton", self) self.mouse3:SetSize(self.btnw*2/3 - 4, h/6) self.mouse3:SetPos(self.btnw/2 - self.mouse3:GetWide()/2, h*5/12) self.mouse3.DoClick = DoClick self.mouse3.UpdateColours = UpdateColours self.mouse3:SetFont("DermaDefaultBold") self.mouse3:SetText("MOUSE3") self.keyboard.buttons["mouse3"] = {btn = self.mouse3, name = "mouse3"} self.mwheelup = vgui.Create("DButton", self) self.mwheelup:SetSize(self.btnw/6 - 4, h/6) self.mwheelup:SetPos(0, h*5/12) self.mwheelup.DoClick = DoClick self.mwheelup.UpdateColours = UpdateColours self.mwheelup:SetFont("Marlett") self.mwheelup:SetText("3") self.keyboard.buttons["mwheelup"] = {btn = self.mwheelup, name = "mwheelup"} self.mwheeldn = vgui.Create("DButton", self) self.mwheeldn:SetSize(self.btnw/6 - 4, h/6) self.mwheeldn:SetPos(self.btnw*5/6 + 4, h*5/12) self.mwheeldn.DoClick = DoClick self.mwheeldn.UpdateColours = UpdateColours self.mwheeldn:SetFont("Marlett") self.mwheeldn:SetText("4") self.keyboard.buttons["mwheelup"] = {btn = self.mwheelup, name = "mwheelup"} self.base = vgui.Create("DPanel", self) self.base:SetSize(self.btnw*2 - 4, h) self.base:SetPos(self.btnw + 8, 0) self.mouse4 = vgui.Create("DButton", self) self.mouse4:SetSize(w*5/16 - 4, h/6) self.mouse4:SetPos(self.btnw + 8, h + 4) self.mouse4.DoClick = DoClick self.mouse4.UpdateColours = UpdateColours self.mouse4:SetFont("DermaDefaultBold") self.mouse4:SetText("MOUSE4") self.keyboard.buttons["mouse4"] = {btn = self.mouse4, name = "mouse4"} self.mouse5 = vgui.Create("DButton", self) self.mouse5:SetSize(w*5/16 - 4, h/6) self.mouse5:SetPos(self.btnw + w*5/16 + 8, h + 4) self.mouse5.DoClick = DoClick self.mouse5.UpdateColours = UpdateColours self.mouse5:SetFont("DermaDefaultBold") self.mouse5:SetText("MOUSE5") self.keyboard.buttons["mouse5"] = {btn = self.mouse5, name = "mouse5"} end function PANEL:Paint(w, h) surface.SetDrawColor(60, 60, 60) surface.DrawRect(0, 0, w, h) end vgui.Register("mousepanel", PANEL) local mouse = vgui.Create("mousepanel")