Desativar a tecla de atalho Control-L no YouTube

5

Estou acostumado a usar Ctrl l para acessar minha barra de endereços. Infelizmente, o YouTube "ajuda" define Ctrl l como uma tecla de atalho para avançar vários segundos no vídeo que está sendo reproduzido, por isso preciso impedir que o YouTube adicione essa ligação de chave. Um script do usuário Greasemonkey / Scriptish que desativa a ligação após o carregamento da página seria aceitável.

Para deixar isso claro, enquanto estiver na página de um vídeo do YouTube, não em um site de terceiros que tenha incorporado um vídeo do YouTube, e o comportamento ocorrer quando o player não tiver foco.

Nota: Estou ciente de que Alt d faz o mesmo que Ctrl l no Firefox, mas eu Estou muito acostumado a Ctrl l e prefiro não ser forçado a mudar.

Editar: soluções específicas do sistema operacional são menos desejáveis, já que eu uso vários sistemas operacionais; soluções no navegador são preferidas.

    
por Heptite 13.06.2012 / 00:48

4 respostas

2

Primeiro, o bug existe desde 2001. Ou antes. Foi relatado desde o passado.

Reported: 2001-05-01 14:28 PDT

Relatório de erros da Mozilla . O que indica que o Mozilla não só está ciente disso, como já sabe disso há algum tempo. Ah, e eu sei que parece ser um relatório de bug mais genérico, mas este aqui é mais recente , e mais específico para o seu problema, e é marcado como uma duplicata do primeiro com o qual você vinculou.

Dito isto, existe código para desactivar alguns (mais?) atalhos de teclado do Youtube ... mas deve ser adicionado às etiquetas incorporadas quando o vídeo é colocado na página web.

&amp:disablekb=1

Existem inúmeros sites na web passando essa informação para fora, aqui está apenas um . Infelizmente, acredito que, se isso fosse tão simples quanto executar um script Greasemonkey para adicionar esse código a qualquer tag de vídeo do YouTUbe quando você carregasse a página, isso já teria sido feito. Pelas pessoas da Mozilla.

Agora, passei algum tempo pesquisando os Addons no Firefox e me deparei com esse chamado Stylish, que permite que você personalize sua experiência em sites como o Youtube. Eu não sei pessoalmente, mas dependendo do nível de personalização, e exatamente como ele faz o que faz, você pode conseguir injetar o código.

Existem scripts do Greasemonkey que alteram sua experiência no YouTube como este , mas nenhum detalha a capacidade de desativar atalhos de teclado. No entanto, o autor do roteiro não o considerou ou nunca foi sugerido a ele.

    
por 13.06.2012 / 03:36
1

A solução mais simples usando AutoHotkey seria mapear Ctrl + L para Alt + D ao visualizar uma página do YouTube no Firefox:

SetTitleMatchMode, RegEx
#IfWinActive, - YouTube - Mozilla Firefox$
    ^l::SendInput, !d
#IfWinActive

Como o YouTube pode alterar o esquema de nomenclatura HTML <title> a qualquer momento, uma solução mais confiável seria substituir a primeira linha #IfWinActive por:

#IfWinActive, - Mozilla Firefox$

Isso se aplica a qualquer guia / janela do Firefox, mas você não deve notar uma diferença na funcionalidade.

    
por 14.06.2012 / 22:52
0

Eu tive o mesmo problema e escrevi uma correção rápida em um script link para uso no Firefox no Windows. O script controla os atalhos ctrl + tab, ctrl + shift + tab e ctrl + l quando o Firefox está ativo e os faz sempre fazer as ações normais de atalho do Firefox (próxima guia, guia anterior e barra de ferramentas de URL ativa). Funciona no modo de janela e no modo de tela cheia. Nota: o mouse do script clica em um ponto neutro próximo ao canto superior esquerdo da janela do Firefox. Se você alterou a GUI por meio do Stylish para cobrir esse ponto com, por exemplo, Em um botão, talvez seja necessário modificar o valor x / y do comando Click para segmentar outro ponto sem botão. Se você quiser que este script funcione somente para ctrl + l, remova a segunda e terceira linha de código.

edit: desculpe, o valor x / y padrão abaixo pode não funcionar bem no modo de janela maximizada, dependendo de como você exibe o botão do Firefox. Novamente, modifique o x / y para atingir um ponto sem botão, por exemplo, alguns pixels à direita do botão do Firefox.

#IfWinActive, ahk_class MozillaWindowClass
^Tab::
^+Tab::
^l::
SystemCursor("Toggle")
SetDefaultMouseSpeed, 0
MouseGetPos, mx, my
click 2,2
if A_ThisHotkey = ^Tab
 send ^{tab}
if A_ThisHotkey = ^+Tab
 send ^+{tab}
if A_ThisHotkey = ^l
 send ^l
MouseMove, %mx%,%my%
SystemCursor("Toggle")
return
#IfWinActive


; http://www.autohotkey.com/docs/commands/DllCall.htm#HideCursor

SystemCursor(OnOff=1)   ; INIT = "I","Init"; OFF = 0,"Off"; TOGGLE = -1,"T","Toggle"; ON = others
{
    static AndMask, XorMask, $, h_cursor
        ,c0,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12,c13 ; system cursors
        , b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13   ; blank cursors
        , h1,h2,h3,h4,h5,h6,h7,h8,h9,h10,h11,h12,h13   ; handles of default cursors
    if (OnOff = "Init" or OnOff = "I" or $ = "")       ; init when requested or at first call
    {
        $ = h                                          ; active default cursors
        VarSetCapacity( h_cursor,4444, 1 )
        VarSetCapacity( AndMask, 32*4, 0xFF )
        VarSetCapacity( XorMask, 32*4, 0 )
        system_cursors = 32512,32513,32514,32515,32516,32642,32643,32644,32645,32646,32648,32649,32650
        StringSplit c, system_cursors, ',
        Loop %c0%
        {
            h_cursor   := DllCall( "LoadCursor", "uint",0, "uint",c%A_Index% )
            h%A_Index% := DllCall( "CopyImage",  "uint",h_cursor, "uint",2, "int",0, "int",0, "uint",0 )
            b%A_Index% := DllCall("CreateCursor","uint",0, "int",0, "int",0
                , "int",32, "int",32, "uint",&AndMask, "uint",&XorMask )
        }
    }
    if (OnOff = 0 or OnOff = "Off" or $ = "h" and (OnOff < 0 or OnOff = "Toggle" or OnOff = "T"))
        $ = b  ; use blank cursors
    else
        $ = h  ; use the saved cursors

    Loop %c0%
    {
        h_cursor := DllCall( "CopyImage", "uint",%$%%A_Index%, "uint",2, "int",0, "int",0, "uint",0 )
        DllCall( "SetSystemCursor", "uint",h_cursor, "uint",c%A_Index% )
    }
}
    
por 14.06.2012 / 21:03
0

Depois de testar mais alguns, acho que nem o código AHK do meu ou iglvzx acima resolve o problema totalmente, mesmo no Firefox no Windows. Para reproduzir o problema restante, siga estas etapas:

  1. carregue um clipe do youtube, por exemplo, link
  2. clique em qualquer lugar no player de vídeo, por exemplo, o botão de pausa
  3. pressione tab ou ctrl + tab ou ctrl + l

resultado: para ctrl + l não acontece nada. Para controle + tab, o jogador passa o foco para o próximo controle e o marca com uma borda amarela espessa

O script autohotkey não substitui o controle do youtube dessas teclas de atalho quando o player de vídeo tem o foco que parece.

    
por 15.06.2012 / 15:18