Skip to Main Content

SQL Developer

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Enable function keys on macBook with touch bar

Adam Aulick-OracleNov 13 2019 — edited Nov 14 2019

Recent mac laptops have a touch bar which is replaces the function keys (which are very useful in sqlDeveloper) by custom action buttons (which are not very useful in sqlDeveloper).

There is a control panel option in macOS which lets the user enable function key display by default on an application-by-application basis. This option works great in general for putting the function keys back in developer applications that use them, but leaving the fancy-dancy custom stuff available for other applications that don't use function keys.

However for sqlDeveloper, this option doesn't work. Adding SQLDeveloper to the list of apps for which function keys should be displayed has no effect. This is probably related to the way that the MacOS SQLDeveloper application seems to quit on launch and execute a different process from inside its package instead.

It's really annoying to not have function keys available in SQLDeveloper, is there any workaround for this problem or fix coming to make it work?

Screen Shot 2019-11-13 at 3.58.42 PM.png

Comments

Glen Conway

Is the commentary in https://discussions.apple.com/thread/7901286 out-of-date / not applicable in your case?  I am not a Mac user, but that discussion is about Java apps on a Mac, and SQL Developer is a Java (fat client) app.  For convenience, that discussion recommends:

Systems Preferences -> Keyboard -> "Touch Bar Shows" -> select "F1,F2,etc. keys" from the drop down menu. The, under "Press Fn key to", select "expand control strip" to show the secondary functions, like screen brightness, music control etc. Those two settings combined will make it function as the normal F1-F12 and Fn keys on a standard, non-touchbar keyboard.

Cheers

Adam Aulick-Oracle

That answer in that linked article actually has nothing to do with java apps, it just describes how to get the touch bar to always show function keys (regardless of active application). 

I am trying to get the per-application setting to work, where the behavior of the touch bar changes depending on the active application.  This setting seems to work for other apps but not for SQLDeveloper.  Not sure if the same is true for all java apps or if SQLDeveloper is special.

Glen Conway

OK, but are any of those other applications Java apps?  If so, then perhaps SQL Developer is not taking advantage of some Java API available in MacOS that the others are.  Or possibly it is a bug in the native MacOS code that Java calls, or maybe the Java version in use.

You should post the version numbers of your SQL Developer and Java installs.  See Help > About and Help > About > Properties and search for java.home.

Hope a Mac user is able to shed more light on this for you.

Glen Conway

My guess it that adding SQL Developer to Keyboard -> Shortcuts -> Function Keys fails because currently it only supports Mac apps.  Similar to comments in

https://www.mac-forums.com/forums/macos-operating-system/341124-touchbar-f1-f12-keys-specific-application.html 

Maybe Apple will improve support for Java one day.  If not, there is something that can be done about it from the SQL Developer side of things, as in

https://www.thizzer.com/article/using-macbook-touchbar-in-java

but that requires some work that the SQL Developer team may not care to take on.

Cheers

Adam Aulick-Oracle

Uptake of custom touch bar functionality in SQLDevloper as per 2nd link (thizzer link does not load for me, so just guessing what it says) is absolutely not the ask.  That is high-effort and unwanted in this case.

The link https://www.mac-forums.com/forums/macos-operating-system/341124-touchbar-f1-f12-keys-specific-application.html  is describing exactly my problem, but the demonstrated "IBM Host On-Demand" application is being run as raw jars, not as a packaged macintosh application.  Looks like the process is getting launched as a jnlp process; this is not a properly packaged macintosh application.

The ask is, figure out why the existing Mac preferences for SQLDeveloper are not working.  As this *is* a properly-packaged macintosh application, there should in theory be a way to make it work.

My SQLDeveloper about box export:

About

-----

Oracle SQL Developer 19.2.1.247

Version 19.2.1.247

Build 247.2212

IDE Version: 13.0.0.1.42.190403.1502

Product ID: oracle.sqldeveloper

Product Version: 19.2.1.247.2212

Version

-------

Component    Version

=========    =======

Oracle IDE    19.2.1.247.2212

Java(TM) Platform    1.8.0_221

Versioning Support    19.2.1.247.2212

Properties

----------

Name    Value

====    =====

Extensions

----------

Name    Identifier    Version    Status    Registration Time    Initialization Time    Total Time

====    ==========    =======    ======    =================    ===================    ==========

Glen Conway

As this *is* a properly-packaged macintosh application, there should in theory be a way to make it work.

OK, I will take your word for it.  As noted previously, I have no experience with Macs.

Your forum handle indicates you are an Oracle employee.  If that is true, probably contacting the Product Manager, Jeff Smith, directly via Oracle email is your best bet.

thatJeffSmith-Oracle

since you work for us, just reach out on slack, the forums are for customers

1 - 7

Post Details

Added on Nov 13 2019
7 comments
543 views