Help toets binden in Eclipse?

Pagina: 1
Acties:
  • 195 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Rhythmic
  • Registratie: Februari 2000
  • Laatst online: 15-06-2024
Voor Java-development gebruik ik Eclipse; op m'n werk onder Linux, thuis onder Mac OS X. Zo'n 2 jaar geleden ben ik thuis geswitched van Windows naar de Mac. In de loop der jaren ben ik erg gewend geraakt aan de toetsencombi's CTRL-Insert, CTRL-Del en Shift-Insert voor respectievelijk copy, cut en paste. Dat werkt prima op standaard Windows-toetsenborden, maar het Apple toetsenbord van de iMac die nu bij mij thuis staat heeft een 'Help' toets zitten op de plek waar Windows toetsenborden de 'Insert' toets hebben. Hierdoor druk ik tijdens text editing vaak op CTRL-Help en Shift-Help als ik CTRL-Insert en Shift-Insert verwacht. In Eclipse krijg je dan altijd de 'dynamic help' te zien, wat enigszins irritant is.

De oplossing lijkt simpel: key rebinding.

In Eclipse zelf lukt dat echter niet. Je kan daar veel toetsencombinaties instellen, maar nou net niet combinaties met de 'Help' key. Ik heb daar een bug voor gesubmit, maar die is uiteindelijk afgedaan met een "RESOLVE WONTFIX" met omdat volgens een Eclipse developer de 'Help' toets altijd de Help functionaliteit moet triggeren. Opzich raar, want waarvoor kan je anders uberhaupt zelf toetsencombinaties instellen?

Via een global key binding in het Keyboard Preference Pane lukt het ook niet, omdat je de combinaties CTRL-Help en Shift-Help simpelweg niet kan invoeren.

Met wat gezoek kwam ik erachter dat het voor Cocoa apps wel kan door ~/Library/DefaultKeyBinding.dict aan te passen. Er is zelf een tooltje voor, "KeyBindingsEditor".

Eclipse gebruikt echter SWT widgets die gebaseerd zijn op Carbon, dus de Cocoa-truc werkt daar niet voor.

Weet iemand of het mogelijk is om op toch op de een of andere manier zelf key bindings in te stellen voor Carbon applicaties, om zo Eclipse zover te krijgen iets zinnigs te doen met de CTRL-Help en Shift-Help combinatie?

Acties:
  • 0 Henk 'm!

  • Daenney
  • Registratie: Januari 2005
  • Laatst online: 12-09-2016

Daenney

42

Ging dat niet op emacs keybindings?

Acties:
  • 0 Henk 'm!

  • Rhythmic
  • Registratie: Februari 2000
  • Laatst online: 15-06-2024
Na wat verder zoeken heb ik toch een oplossing gevonden: door handmatig de .plist te bewerken die het Keyboard & Mouse preference pane genereert kan je de Help toets o.a. veranderen in de '0' op het keypad. Hiermee kan je vervolgens in Eclipse CTRL-Keypad_0 en Shift-Keypad_0 binden aan copy en paste.

De volledige uitleg staat hier.

Acties:
  • 0 Henk 'm!

  • Rhythmic
  • Registratie: Februari 2000
  • Laatst online: 15-06-2024
@Daenny: nee, met Emacs keybindings in Eclipse gaat het ook niet, omdat Eclipse de Help toets gewoon niet snapt; die genereert standaard een HelpEvent oid. wat buiten de normale keybindings om altijd de Help triggert.

Acties:
  • 0 Henk 'm!

  • Apache
  • Registratie: Juli 2000
  • Laatst online: 16-09 10:29

Apache

amateur software devver

Wat is er mis met de standaard apple-c/apple-x, apple-v wat hetzelfde doet als onder windows & linux als ctrl-c/ctrl-x, ctrl-v?

If it ain't broken it doesn't have enough features


Acties:
  • 0 Henk 'm!

  • dawuss
  • Registratie: Maart 2001
  • Laatst online: 10-07 16:50

dawuss

gadgeteer

Apache schreef op woensdag 18 april 2007 @ 14:51:
Wat is er mis met de standaard apple-c/apple-x, apple-v wat hetzelfde doet als onder windows & linux als ctrl-c/ctrl-x, ctrl-v?
Hij zegt toch dat 'ie gewend is aan andere toetsaanslagen en dat 'ie die wil blijven gebruiken? Lijkt me niet zo'n hele gekke verwachting als gebruiker :)

micheljansen.org
Fulltime Verslaafde Commandline Fetisjist ©


Acties:
  • 0 Henk 'm!

  • The - DDD
  • Registratie: Januari 2000
  • Laatst online: 00:16
Net effe je Eclipse bug report bekeken. Niet zomaar een Eclipse devver de schuld geven. Het is heel duidelijk wat er staat. Drukken op de Help key heeft een "help event" tot gevolg. Wat los staat van key events. OSX handelt dus het drukken op de help toets af, Eclipse kan daar vrij weinig aan doen.

Of ze moeten het mogelijk maken het help event te rebinden.

Acties:
  • 0 Henk 'm!

  • Rhythmic
  • Registratie: Februari 2000
  • Laatst online: 15-06-2024
The - DDD schreef op donderdag 19 april 2007 @ 13:41:
Net effe je Eclipse bug report bekeken. Niet zomaar een Eclipse devver de schuld geven. Het is heel duidelijk wat er staat. Drukken op de Help key heeft een "help event" tot gevolg. Wat los staat van key events. OSX handelt dus het drukken op de help toets af, Eclipse kan daar vrij weinig aan doen.

Of ze moeten het mogelijk maken het help event te rebinden.
Mijn bugreport ging erover dat het mogelijk zou moeten zijn ook de help toets te rebinden; hoe Eclipse dat intern oplost maakt mij niet uit. Maar je hebt voor zover ik nu inzie wel gelijk hoor; Eclipse kan de help toets op dit moment niet zien als een losse toetsaanslag doordat SWT op de Mac nog steeds Carbon gebruikt; dat genereert die help events.

Overstappen naar Cocoa zou dit oplossen, aangezien de help toets daar wel als losse toetsaanslag wordt doorgegeven aan applicaties. AWT is bijv. wel Cocoa-based, en dus kan je in o.a. jEdit (wat AWT gebruikt) prima de Help-toets rebinden. SWT implementeren in Cocoa schijnt echter nogal lastig te zijn, dus dan moet je je met OS-level gepiel behelpen :)

Acties:
  • 0 Henk 'm!

  • The - DDD
  • Registratie: Januari 2000
  • Laatst online: 00:16
Carbon is inderdaad C en lowlevel tot op het widget niveau. Net als Win32. Sowieso is het met JNI het makkelijkst om met C te praten met Java. Cocoa is Objective-C dus al een stuk lastiger omdat je dan ook te maken krijgt met een heel component model.
Pagina: 1