X
Thinta lapha ukuze uye kuveshini yamakhalekhukhwini kusayithi.

Isithangami Sabeseki

Change default keybindings (specifically, remove "⌘S")

Kuphostiwe

I'm using FF 67.0 (as well as 69.0a1 Nightly) on macOS.

Now that we can finally change keyboard shortcuts for Extensions (yay!) I would like to use `⌘S` as one of my key bindings. Problem is, that is already mapped to "Save Page As..." — a menu item I hardly ever need.

Is there any way (current or planned) that users can change keybindings for built in native commands? This would be especially useful for the many switchers coming over from Chrome after the adblockalypse.

I'm using FF 67.0 (as well as 69.0a1 Nightly) on macOS. Now that we can finally change keyboard shortcuts for Extensions (yay!) I would like to use `⌘S` as one of my key bindings. Problem is, that is already mapped to "Save Page As..." — a menu item I hardly ever need. Is there any way (current or planned) that users can change keybindings for built in native commands? This would be especially useful for the many switchers coming over from Chrome after the adblockalypse.
Isicaphuno

Eminye Imininingwane Yohlelo

Isisebenziso

  • Firefox 67.0
  • Umsebenzisi oyi-ejenti: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:67.0) Gecko/20100101 Firefox/67.0
  • I-URL Yokweseka: https://support.mozilla.org/1/firefox/67.0/Darwin/en-US/

Izandiso

  • Bitwarden - Free Password Manager 1.39.3 ({446900e4-71c2-419f-a6a7-df9c091e268b})
  • Chameleon 0.12.4 ({3579f63b-d8ee-424f-bbb6-6d0ce3285e6a})
  • cliget 2.0.0 (cliget@zaidabdulla.com)
  • Header Editor 4.0.7 (headereditor-amo@addon.firefoxcn.net)
  • Multi-touch Zoom 0.6 ({90b5a72e-cdbd-49df-8304-5b5d6ea84a0f})
  • Redirect AMP to HTML 2.0.0 ({569456be-2850-4f7e-b669-71e55140ee0a})
  • uBlock Origin 1.19.6 (uBlock0@raymondhill.net)
  • Xdebug helper 1.0.5 ({806cbba4-1bd3-4916-9ddc-e719e9ca0cbf})
  • Adobe Acrobat 18.0.10 (web2pdfextension.17@acrobat.adobe.com) (Akusebenzi)

I-Javascript

  • incrementalGCEnabled: True

Imidwebo

  • adapterDescription:
  • adapterDeviceID: 0x3e9b
  • adapterDrivers:
  • adapterRAM:
  • adapterVendorID: 0x8086
  • contentUsesTiling: True
  • crashGuards: []
  • driverDate:
  • driverVersion:
  • featureLog: {u'fallbacks': [], u'features': [{u'status': u'available', u'description': u'Compositing', u'log': [{u'status': u'available', u'type': u'default'}], u'name': u'HW_COMPOSITING'}, {u'status': u'available', u'description': u'OpenGL Compositing', u'log': [{u'status': u'available', u'type': u'default'}], u'name': u'OPENGL_COMPOSITING'}, {u'status': u'opt-in', u'description': u'WebRender', u'log': [{u'status': u'opt-in', u'message': u'WebRender is an opt-in feature', u'type': u'default'}], u'name': u'WEBRENDER'}, {u'status': u'blocked', u'description': u'WebRender qualified', u'log': [{u'status': u'available', u'type': u'default'}, {u'status': u'blocked', u'message': u'No qualified hardware', u'type': u'env'}], u'name': u'WEBRENDER_QUALIFIED'}, {u'status': u'available', u'description': u'Off Main Thread Painting', u'log': [{u'status': u'available', u'type': u'default'}], u'name': u'OMTP'}]}
  • info: {u'TileHeight': 512, u'ApzWheelInput': 1, u'ApzDragInput': 1, u'ApzKeyboardInput': 1, u'ApzAutoscrollInput': 1, u'AzureFallbackCanvasBackend': u'none', u'TileWidth': 512, u'AzureCanvasBackend': u'skia', u'AzureContentBackend': u'skia'}
  • lowEndMachine: False
  • numAcceleratedWindows: 1
  • numTotalWindows: 1
  • offMainThreadPaintEnabled: True
  • offMainThreadPaintWorkerCount: 4
  • targetFrameRate: 60
  • usesTiling: True
  • webgl1DriverExtensions: GL_ARB_blend_func_extended GL_ARB_draw_buffers_blend GL_ARB_draw_indirect GL_ARB_ES2_compatibility GL_ARB_explicit_attrib_location GL_ARB_gpu_shader_fp64 GL_ARB_gpu_shader5 GL_ARB_instanced_arrays GL_ARB_internalformat_query GL_ARB_occlusion_query2 GL_ARB_sample_shading GL_ARB_sampler_objects GL_ARB_separate_shader_objects GL_ARB_shader_bit_encoding GL_ARB_shader_subroutine GL_ARB_shading_language_include GL_ARB_tessellation_shader GL_ARB_texture_buffer_object_rgb32 GL_ARB_texture_cube_map_array GL_ARB_texture_gather GL_ARB_texture_query_lod GL_ARB_texture_rgb10_a2ui GL_ARB_texture_storage GL_ARB_texture_swizzle GL_ARB_timer_query GL_ARB_transform_feedback2 GL_ARB_transform_feedback3 GL_ARB_vertex_attrib_64bit GL_ARB_vertex_type_2_10_10_10_rev GL_ARB_viewport_array GL_EXT_debug_label GL_EXT_debug_marker GL_EXT_framebuffer_multisample_blit_scaled GL_EXT_texture_compression_s3tc GL_EXT_texture_filter_anisotropic GL_EXT_texture_sRGB_decode GL_APPLE_client_storage GL_APPLE_container_object_shareable GL_APPLE_flush_render GL_APPLE_object_purgeable GL_APPLE_rgb_422 GL_APPLE_row_bytes GL_APPLE_texture_range GL_ATI_texture_mirror_once GL_NV_texture_barrier
  • webgl1Extensions: ANGLE_instanced_arrays EXT_blend_minmax EXT_color_buffer_half_float EXT_disjoint_timer_query EXT_float_blend EXT_frag_depth EXT_shader_texture_lod EXT_sRGB EXT_texture_compression_rgtc EXT_texture_filter_anisotropic OES_element_index_uint OES_standard_derivatives OES_texture_float OES_texture_float_linear OES_texture_half_float OES_texture_half_float_linear OES_vertex_array_object WEBGL_color_buffer_float WEBGL_compressed_texture_s3tc WEBGL_compressed_texture_s3tc_srgb WEBGL_debug_renderer_info WEBGL_debug_shaders WEBGL_depth_texture WEBGL_draw_buffers WEBGL_lose_context
  • webgl1Renderer: Intel Inc. -- Intel(R) UHD Graphics 630
  • webgl1Version: 4.1 INTEL-12.9.22
  • webgl1WSIInfo: CGL
  • webgl2DriverExtensions: GL_ARB_blend_func_extended GL_ARB_draw_buffers_blend GL_ARB_draw_indirect GL_ARB_ES2_compatibility GL_ARB_explicit_attrib_location GL_ARB_gpu_shader_fp64 GL_ARB_gpu_shader5 GL_ARB_instanced_arrays GL_ARB_internalformat_query GL_ARB_occlusion_query2 GL_ARB_sample_shading GL_ARB_sampler_objects GL_ARB_separate_shader_objects GL_ARB_shader_bit_encoding GL_ARB_shader_subroutine GL_ARB_shading_language_include GL_ARB_tessellation_shader GL_ARB_texture_buffer_object_rgb32 GL_ARB_texture_cube_map_array GL_ARB_texture_gather GL_ARB_texture_query_lod GL_ARB_texture_rgb10_a2ui GL_ARB_texture_storage GL_ARB_texture_swizzle GL_ARB_timer_query GL_ARB_transform_feedback2 GL_ARB_transform_feedback3 GL_ARB_vertex_attrib_64bit GL_ARB_vertex_type_2_10_10_10_rev GL_ARB_viewport_array GL_EXT_debug_label GL_EXT_debug_marker GL_EXT_framebuffer_multisample_blit_scaled GL_EXT_texture_compression_s3tc GL_EXT_texture_filter_anisotropic GL_EXT_texture_sRGB_decode GL_APPLE_client_storage GL_APPLE_container_object_shareable GL_APPLE_flush_render GL_APPLE_object_purgeable GL_APPLE_rgb_422 GL_APPLE_row_bytes GL_APPLE_texture_range GL_ATI_texture_mirror_once GL_NV_texture_barrier
  • webgl2Extensions: EXT_color_buffer_float EXT_disjoint_timer_query EXT_float_blend EXT_texture_compression_rgtc EXT_texture_filter_anisotropic OES_texture_float_linear WEBGL_compressed_texture_s3tc WEBGL_compressed_texture_s3tc_srgb WEBGL_debug_renderer_info WEBGL_debug_shaders WEBGL_lose_context
  • webgl2Renderer: Intel Inc. -- Intel(R) UHD Graphics 630
  • webgl2Version: 4.1 INTEL-12.9.22
  • webgl2WSIInfo: CGL
  • windowLayerManagerRemote: True
  • windowLayerManagerType: OpenGL
  • windowUsingAdvancedLayers: False

Okuthandwayo Okulungisiwe

Misc

  • Umsebenzisi JS: Cha
  • Ukufinyeleleka: Cha
jscher2000
  • Top 10 Contributor
8695 izisombululo 71066 izimpendulo
Kuphostiwe

Hi luckman212, what would you like Command+s to do?

Firefox doesn't have a built-in feature to re-map browser keyboard shortcuts. Web pages can intercept and repurpose many key combinations, and extensions like Saka Key take advantage of that to let you remap them to various other functions. I don't know whether it works for this one is particular.

https://addons.mozilla.org/firefox/addon/saka-key/

Hi luckman212, what would you like Command+s to do? Firefox doesn't have a built-in feature to re-map browser keyboard shortcuts. Web pages can intercept and repurpose many key combinations, and extensions like Saka Key take advantage of that to let you remap them to various other functions. I don't know whether it works for this one is particular. https://addons.mozilla.org/firefox/addon/saka-key/
Ingabe lokhu kube usizo kuwena?
Isicaphuno

Umnikazi wombuzo

I would like to use ⌘S as a trigger key for one of my extensions (Bitwarden).

I would like to use ⌘S as a trigger key for one of my extensions (Bitwarden).
Ingabe lokhu kube usizo kuwena?
Isicaphuno
cor-el
  • Top 10 Contributor
  • Moderator
17476 izisombululo 157949 izimpendulo
Kuphostiwe

You can modify extension's keys via the about:addons page. Click the cogwheel button and look for Manage Extension Shortcuts.

You can modify extension's keys via the about:addons page. Click the cogwheel button and look for Manage Extension Shortcuts.
Ingabe lokhu kube usizo kuwena?
Isicaphuno

Umnikazi wombuzo

That's not what I'm asking. I know you can set the keys- if you read the top post you'll see the question is about changing default keybindings, since ⌘S is already in use by FF's default "Save Page As..." command. And this is the key I want to use for my extension...

That's not what I'm asking. I know you can set the keys- if you read the top post you'll see the question is about changing default keybindings, since ⌘S is already in use by FF's default "Save Page As..." command. And this is the key I want to use for my extension...
Ingabe lokhu kube usizo kuwena?
Isicaphuno
jscher2000
  • Top 10 Contributor
8695 izisombululo 71066 izimpendulo
Kuphostiwe

As far as I know, extensions cannot re-purpose built-in keyboard shortcuts using the commands property in manifest.json or the commands API. It may be under consideration for a future version, but for now, the only known workaround is a content script.

As far as I know, extensions cannot re-purpose built-in keyboard shortcuts using the <code>commands</code> property in manifest.json or the <code>commands</code> API. It may be under consideration for a future version, but for now, the only known workaround is a content script.
Ingabe lokhu kube usizo kuwena?
Isicaphuno

Umnikazi wombuzo

I found a solution, but it's not easy for most users.

I patched browser.dtd and broswer.xul and edited the keymappings directly, in accordance with the info I found here: https://github.com/nilcons/firefox-hacks#binary-hacking-automated

Using this method, I was able to remove the ⌘S shortcut and assign it to Bitwarden. I also removed a few other keyboard shortcuts that I didn't like: ⌘B, ⌘U, ⌘I, and ⌘D

I found a solution, but it's not easy for most users. I patched '''browser.dtd''' and '''broswer.xul''' and edited the keymappings directly, in accordance with the info I found here: https://github.com/nilcons/firefox-hacks#binary-hacking-automated Using this method, I was able to remove the ⌘S shortcut and assign it to Bitwarden. I also removed a few other keyboard shortcuts that I didn't like: ⌘B, ⌘U, ⌘I, and ⌘D

Okulungisiwe ngu luckman212

Ingabe lokhu kube usizo kuwena?
Isicaphuno
Buza umbuzo

Kufanele ulogele ukungena ku-akhawunti yakho ukuze uphendule amaphosti. Uyacelwauqale umbuzo omusha, uma ungekabi nayo i-akhawunti namanje.