Billentyű makrókat kezelő programot írnék
2011-09-24T10:32:55+02:00
2011-09-26T10:23:22+02:00
2022-07-24T10:46:16+02:00
  • Chrome: Alt ...

    FF is... megint tanultam valami újat! :)
    Mutasd a teljes hozzászólást!
  • Chrome: Alt balra és jobbra nyíl a lapozás előre-hátra. De főleg a js debug miatt használom előszeretettel.

    A billentyű makró kérdés nekem is folyamatosan probléma, mondjuk én sokkal jobban szeretek számokat a numerikus billentyűzeten beírni, mint a felső soron.
    Viszont még nem találtam igazán jó megoldást arra, hogy a CapsLock legyen a nyelv váltó billentyű. (Jelenleg a CapsLock --> Alt így Shift+CapsLock is működik).
    A notepad-nál viszont szívesen tennék az fn+gomb -ra hasznos funkciókat. Például nagyon idegesítő, hogy programozni angol kiosztáson lehet, de például a $ jel leírása SHIFT-4 ami elég macerás, még ott is, és ez az egyik fő indok, hogy nem találtam túl praktikusnak a PHP-t a -> jelről nem is beszélve.

    Az egész billentyűzet kiosztás kicsit az oprendszerek szürke területe. Az OSX-ben ugyan sokkal dinamikusabban létre lehet hozni tetszőleges kiosztást, de a Caps Lock megfelelő átprogramozásával ott is gond van. Az fn felhasználásáról akkor már ne is beszéljünk. A különböző notebookok esetében még égetőbb a probléma, hiszen ott gyakran nincs is numerikus billentyű. Az egyik leggyakoribb problémát ott a home, end, pgup és pgdown elhelyezése szokott lenni, ami megint csak esetfüggő.
    A régi LG LT-10-es tablet PC-men volt ez eddig a legjobban megoldva, mert a felfelé nyíl melletti 2 gomb volt home, end az pgup = fn+fel, pgdown = fn+le.


    Mutasd a teljes hozzászólást!
  • Ott kezdődtek a "problémáim", hogy
    - windows alatt életemben nem programoztam, úgy a win95 megjelenése környékén adtam fel végleg(?) a programozói pályát
    - nem igazán és elsősorban ASCII kódokból szeretnék karaktersorozatokat gyártani, hanem a hardveres bill.kódból (pl. laptop Fn+másik billentyű) akár stringet, akár - és ez a fontosabb - másik hardveres kódot előállítani és azt továbbítani a windows felé.
    Mindezt tetézve azzal, hogy C, C++, C# gyakorlatilag sötét terület számomra, PHP és némi Java ismerettel rendelkezem.

    Szóval kösz, de miután hegyipatak válasza alapján kicsit alaposabban utánanéztem, már látom, közel sem annyira triviális a dolog, hogy nyugodt lélekkel neki merjek ugrani a feladatnak.
    Marad, hogy letöltök valami e célra írt free programot és reménykedem, hogy extra feature-ként nincs benne egy keylogger.
    Mutasd a teljes hozzászólást!
  • Szia!
    Hadd fogalmazzak meg egy ellenvéleményt is.
    Én C++-ban csináltam ilyesmit (gy.k egy key- és mouselogger volt, ami képes volt vezérelni az egeret és a billentyűzetet is.)

    A programom lényege annyi, hogy Python nyelven tudsz kis scripteket írni, amik lefutnak bizonyos egér- és billentyűzetesemények hatására.

    Azért hagytam abba a fejlesztést, mert egyrészt nem láttam rá túl nagy igényt, másrészt a Windows billentyűzetkezelése egy nagy szívás. Ez a szívás téged nem érintene, csak engem érintett, mert ASCII-ből kellett oda-vissza konvertálgatni...

    Maga az alapfeladat (billentyűzet figyelése, szükség esetén emulálása) nem nagy kunszt. Vannak rá függvények WinAPI-ban is, meg gondolom C#-ban is.

    Ott jönnek a gondok, ha egy DirectX-es vagy OpenGL-es program számára akarsz billentyűleütést emulálni. Akkor kicsit mélyebbre kell menni, de az is megoldható.
    Mutasd a teljes hozzászólást!
  • Köszi, elég rövid úton lebeszéltél róla.
    Tanulás alatt kifejezetten C# tanulást értettem, hogy lássak ilyet is, de ahogy elnézem, nem ér annyit a dolog, amennyi munkát bele kellene fektetni. (egyelőre inkább maradnék a PHP-Java vonalon)

    upd: a "hook" szó nem akart beugrani, ezért nem is tudtam, mit keressek.
    Mutasd a teljes hozzászólást!
  • Megoldható.

    http://www.codeproject.com/KB/system/globalmousekeyboardlib.aspx
    Processing Global Mouse and Keyboard Hooks in C# - CodeProject

    Egy ilyen projektnek rengeteg buktatója lehet, attól függően mit akarsz, lehet sok ősz hajszálad lesz (pl. ha modifier keyeket akarsz használni az se triviális, ha valami nagyon faramuci módon kezeli az inputot a program amit épp használsz az is megzavarhat) mire rendesen megcsinálod. Ha szerencséd van akkor persze egyből is működhet.

    Tanulni talán annyira nem rossz, bár se az algoritmizálásod, se programtervezésed nem fog ettől javulni.


    Ha csak simán billentyűket akarsz remapelni, szerintem az autohotkey a kevésbé hajtépő megoldás, a fejlesztői már végigszenvedték azt a nem kevés lépést, amit neked kell majd ha magadnak akarod megcsinálni.

    Ha pl. hangra akarsz billentyűlenyomást szimulálni, saját programodnak akarsz globális hookot valamiért vagy hasonló, akkor érdemes magadnak elmélyedni benne.
    Mutasd a teljes hozzászólást!
  • Adott egy notebook, rajta egy totál felesleges numerikus billentyűzettel. Mivel a win7 tudtommal nem tartalmaz olyan programot, amivel a billentyűkhöz az eredetitől eltérő funkciót lehetne definiálni, külsős programot meg csak végszükség esetén használnék e célra, gondoltam, inkább írok egyet. Pl. a böngésző history-jában előre-hátra mászkálni, a jelenlegi gépemen külön gombokkal lehet. Az újnak nincsenek ilyen billentyűi (tudom, visszafelé ott a backspace, de az nem megy, ha szövegmezőben áll a kurzor, az előre lapozáshoz meg végképp nem tudok semmit).

    Kérdés: megoldható-e egy ilyen feladat C#-ban vagy mindenképpen a C++ gyönyöreibe kell beleásni magam? (utoljára DOS alatt írtam ilyet, azóta kissé megváltozott a környezet)
    Egyáltalán: ha a C# alkalmas erre, valóban olyan egyszerű feladat lenne, amilyennek elsőre gondolom vagy annyira bele kellene épülni az op.rendszerbe, hogy jobb, ha abszolút kezdőként valami egyszerűbb feladványt keresek magamnak?
    Mutasd a teljes hozzászólást!
abcd