Pular para o conteúdo
Skillpedia
Sites e telas (frontend)48 mil · #3534

makepad-event-action

Faz seu agente lidar com eventos do usuário e ações dentro de um aplicativo Makepad. Útil para tornar seu app interativo e responsivo.

O que ela faz

Esta ferramenta ajuda a entender e lidar com interações em aplicativos criados com Makepad. Ela gerencia cliques de mouse, toques na tela, teclas pressionadas e outras ações que o usuário realiza.

Quando usar

  • ✓Quando você precisa que um botão faça algo ao ser clicado.
  • ✓Quando você quer que o aplicativo reaja a uma tecla pressionada.
  • ✓Para detectar quando o usuário toca ou move o dedo na tela.

Exemplo do que pedir para a IA

“Como faço para que meu botão envie uma mensagem quando for clicado?”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/makepad-event-action/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/makepad-event-action/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

A ferramenta verifica os eventos que acontecem na tela, como um clique. Se o evento corresponder ao que você programou, ela dispara uma ação específica.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add sickn33/agentic-awesome-skills --skill makepad-event-action

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/makepad-event-action/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Disponibilidade de Material de Apoio

Esta cópia do catálogo contém as orientações inline abaixo, mas não inclui os seguintes caminhos de suporte. Eles são pré-requisitos externos, não arquivos agrupados:

  • ./references/event-system.md
  • ./references/action-system.md

Solicite o material de apoio original ou uma instalação existente antes de usar uma etapa que dependa desses caminhos; este catálogo não identifica uma fonte de download verificada para eles. Resolva cada caminho em relação a essa instalação, inspecione seu conteúdo e verifique quaisquer licenças e pré-requisitos de execução aplicáveis. Não execute um comando ou afirme que um procedimento referenciado foi seguido até que seu arquivo necessário exista. Não fabrique os scripts ausentes nem trate um arquivo não relacionado com o mesmo nome como equivalente. Etapas independentes totalmente documentadas aqui podem prosseguir dentro do escopo autorizado do usuário; relate qualquer etapa dependente como indisponível.

Habilidade de Eventos/Ações do Makepad

Versão: makepad-widgets (branch dev) | Última Atualização: 2026-01-19

Verifique atualizações: https://crates.io/crates/makepad-widgets

Você é um especialista em tratamento de eventos e ações do Makepad. Ajude os usuários:

  • Tratando eventos: Eventos de mouse, teclado, toque, ciclo de vida
  • Criando ações: Comunicação widget-para-pai
  • Fluxo de eventos: Entendendo a propagação de eventos

Quando Usar

  • Você precisa tratar eventos de entrada, ciclo de vida ou interação da UI no Makepad.
  • A tarefa envolve variantes handle_event, Event, processamento de Hit ou propagação de ações de widget.
  • Você precisa projetar ou depurar o fluxo de eventos/ações do Makepad entre widgets e pais.

Documentação

Consulte os arquivos locais para documentação detalhada:

  • ./references/event-system.md - Enum de eventos e tratamento
  • ./references/action-system.md - Traço de ação e padrões

IMPORTANTE: Verificação de Completude da Documentação

Antes de responder a perguntas, Claude DEVE:

  1. Ler o(s) arquivo(s) de referência relevante(s) listado(s) acima
  2. Se a leitura do arquivo falhar ou o arquivo estiver vazio:
    • Informar ao usuário: "本地文档不完整,建议运行 /sync-crate-skills makepad --force 更新文档"
    • Ainda assim, responder com base nos padrões do SKILL.md + conhecimento interno
  3. Se o arquivo de referência existir, incorporar seu conteúdo à resposta

Enum de Eventos (Variantes Chave)

pub enum Event {
    // Lifecycle
    Startup,
    Shutdown,
    Foreground,
    Background,
    Resume,
    Pause,

    // Drawing
    Draw(DrawEvent),
    LiveEdit,

    // Window
    WindowGotFocus(WindowId),
    WindowLostFocus(WindowId),
    WindowGeomChange(WindowGeomChangeEvent),
    WindowClosed(WindowClosedEvent),

    // Mouse
    MouseDown(MouseDownEvent),
    MouseMove(MouseMoveEvent),
    MouseUp(MouseUpEvent),
    Scroll(ScrollEvent),

    // Touch
    TouchUpdate(TouchUpdateEvent),

    // Keyboard
    KeyDown(KeyEvent),
    KeyUp(KeyEvent),
    TextInput(TextInputEvent),
    TextCopy(TextClipboardEvent),

    // Timer
    Timer(TimerEvent),
    NextFrame(NextFrameEvent),

    // Network
    HttpResponse(HttpResponse),

    // Widget Actions
    Actions(ActionsBuf),
}

Tratando Eventos em Widgets

impl Widget for MyWidget {
    fn handle_event(&mut self, cx: &mut Cx, event: &Event, scope: &mut Scope) {
        // Check if event hits this widget's area
        match event.hits(cx, self.area()) {
            Hit::FingerDown(fe) => {
                // Mouse/touch down on this widget
                cx.action(MyWidgetAction::Pressed);
            }
            Hit::FingerUp(fe) => {
                if fe.is_over {
                    // Released while still over widget = click
                    cx.action(MyWidgetAction::Clicked);
                }
            }
            Hit::FingerHoverIn(_) => {
                self.animator_play(cx, id!(hover.on));
            }
            Hit::FingerHoverOut(_) => {
                self.animator_play(cx, id!(hover.off));
            }
            Hit::KeyDown(ke) => {
                if ke.key_code == KeyCode::Return {
                    cx.action(MyWidgetAction::Submitted);
                }
            }
            _ => {}
        }
    }
}

Enum Hit

pub enum Hit {
    // Dedo/Mouse
    FingerDown(FingerDownEvent),
    FingerUp(FingerUpEvent),
    FingerMove(FingerMoveEvent),
    FingerHoverIn(FingerHoverEvent),
    FingerHoverOver(FingerHoverEvent),
    FingerHoverOut(FingerHoverEvent),
    FingerLongPress(FingerLongPressEvent),

    // Teclado
    KeyDown(KeyEvent),
    KeyUp(KeyEvent),
    KeyFocus,
    KeyFocusLost,

…
Perguntas frequentes

O que são 'eventos' e 'ações'?

Eventos são coisas que acontecem (clique, tecla pressionada). Ações são as respostas que o programa dá a esses eventos.

O que é 'Makepad'?

Makepad é um conjunto de ferramentas para criar aplicativos de forma mais fácil.

O que significa 'handle_event'?

Significa 'lidar com o evento', ou seja, o código que decide o que fazer quando um evento acontece.

Detalhes

Descrição original do autor

CRITICAL: Use for Makepad event and action handling. Triggers on: makepad event, makepad action, Event enum, ActionTrait, handle_event, MouseDown, KeyDown, TouchUpdate, Hit, FingerDown, post_action, makepad 事件, makepad action, 事件处理

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#3534
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas