Không thoát toàn màn hình khi nhấn thoát trong các ứng dụng như Safari trên Lion


46

Trong OS X Lion, nhấn ESCphím thoát khỏi chế độ toàn màn hình. Thật không may, và đặc biệt là khi sử dụng Safari, ESCđược sử dụng cho các chức năng khác, chẳng hạn như trong xử lý sự kiện tổ hợp phím Javascript. Tôi không muốn Lion thoát khỏi chế độ toàn màn hình khi nhấn thoát, nhưng tôi không thể tìm thấy nơi nào để tắt chức năng đó.

Tôi đã biết phím tắt để vào / thoát chế độ toàn màn hình ( Cmd- Ctrl- F). Tôi muốn ESCtắt phím tắt. Tôi đã Googling, nhưng không thể tìm thấy bất kỳ câu trả lời.


2
Nhấn vào Escnơi có hiệu ứng khác (ví dụ: hủy bỏ tải trang) sẽ không thoát khỏi toàn màn hình.
Daniel Beck

@Daniel: Nhưng điều đó không nhất thiết phải áp dụng cho bất kỳ chức năng nào khác. Đây thực sự là một vấn đề OS X Lion lan rộng? Tại sao có quá ít người thực sự trải nghiệm điều này?
Tamara Wijsman

1
@Tom Chẳng hạn như? Người dùng không nói, và bạn cũng không. Tôi có thể tưởng tượng tất cả các chức năng đó ghi đè phím tắt chế độ toàn màn hình khi được sử dụng bằng cách tiêu thụ sự kiện, nhưng không có thêm ví dụ, tôi không thể chắc chắn.
Daniel Beck

10
Vô tình nhấn enter Có nhiều trang web sử dụng ESC để đóng cửa sổ phương thức, ví dụ: ericmmartin.com/projects/simplemodal-demos Nhấp vào Demo trên trang để hiển thị cửa sổ phương thức. Nhấn ESC để đóng phương thức. Safari nhận thức được rằng có một cửa sổ phương thức và không thoát khỏi toàn màn hình. Nhấn ESC lần nữa và Safari thoát khỏi chế độ toàn màn hình. Thường thì tôi nhấn ESC vài lần để đảm bảo có gì đó được đóng lại. Tôi không muốn Safari thoát khỏi chế độ toàn màn hình khi điều đó xảy ra. Đã có một lệnh chính để thoát toàn màn hình. ESC không nên được sử dụng.
Fadi

1
@dpk Liên kết đến một trang web demo, xin vui lòng. Vì không có ví dụ nào được đề cập cho đến nay có vấn đề này khi tôi thử nghiệm chúng, tôi không tin rằng không có các bước để tái tạo vấn đề. Trên thực tế, ví dụ của Fadi ở trên mâu thuẫn với nhận xét của bạn.
Daniel Beck

Câu trả lời:


6

Đối với các trình duyệt web và đặc biệt là sử dụng các trang web có hành vi cho phép hoặc yêu cầu sử dụng Escapekhóa trong khi không ngăn chặn việc đóng toàn màn hình (như các trang web Stack Exchange ), bạn có thể sử dụng tập lệnh người dùng sau:

// ==UserScript==
// @name           Keep Full Screen
// @namespace     http://superuser.com/q/315949
// @description    Prevents Escape key from leaving full screen.
// @include      http://*
// ==/UserScript==
document.onkeydown = function (evt) {
    if (evt.keyCode == 27) evt.preventDefault();
}

Để chạy cái này trong trình duyệt, hãy sử dụng bất kỳ công cụ tập lệnh người dùng nào cho trình duyệt của bạn.

  • Đối với Safari 5, bạn có thể sử dụng tiện ích mở rộng Safari NinjaKit (trên GitHub ). Đây là những gì tôi sử dụng.
  • Đối với Chrome, bạn có thể sử dụng biến thể NinjaKit của nó .
  • Đối với bất kỳ Safari khác trên OS X, bạn có thể sử dụng plug-in SIMBL GreaseKit . Không chắc chắn làm thế nào để cập nhật nó là mặc dù.

Để thuận tiện, tôi đã tải nó lên
usercripts

Có kinh nghiệm nào cài đặt cái này trên Safari cho Mavericks không?
Holene

2
Vâng, điều này không phù hợp với tôi, tôi đang ở Yosemite Beta 5 với Safari 8.0 (10600.1.25) tại thời điểm viết và sử dụng NinjaKit trong Safari làm công cụ mô tả người dùng. Phím Escape tiếp tục phá vỡ toàn màn hình và đối với tôi, điều đó xảy ra khi tôi ở thanh địa chỉ và nhấn Esc khi ở trong đó. (nó có một vài chức năng hữu ích khi chỉnh sửa văn bản trong đó ...) Tôi cho rằng GreasKit không còn hoạt động được đưa ra vào năm 2009 và một google nhanh dường như cho thấy nó không hoạt động nữa. Có ý kiến ​​gì không? Thật đáng thất vọng, không có gì lạ khi Chrome là trình duyệt chính, ngay cả trên hệ điều hành của chính Apple ...

@Forgon Tôi mong muốn việc xử lý sự kiện trang hoàn toàn không có hiệu lực trong khi bạn đang ở trong thanh địa chỉ.
Daniel Beck

hoạt động với tampermonkey, cũng đã chỉnh sửa tập lệnh / phản hồi để hỗ trợ https: //.
Toni

3

Hầu hết các tình huống có nguồn gốc từ OS X đều chấp nhận cả EscapeCmd-.hủy bỏ, ví dụ như hộp thoại tệp, tải Safari, kéo các phần tử xung quanh, v.v.

Đáng chú ý vắng mặt trong danh sách đó, tất nhiên, để chế độ toàn màn hình .


Vì vậy, bạn chỉ có thể học cách nhấn Cmd-.thay vì Escapeđể tránh tình trạng này hoàn toàn. Hoặc bạn có thể dạy máy tính của mình làm điều đó cho bạn: Một giải pháp ít nhất là lành mạnh là sử dụng mục Phím bấm của Butler để ánh xạ tới :EscapeCmd-.

  • Mở trang cấu hình của Butler
  • Chọn bất kỳ vùng chứa nào, ví dụ: Ẩn , bấm + »Mục thông minh» Tổ hợp phím
  • Trên tab Phím , nhấn Cmd-.để sử dụng phím này làm tổ hợp phím kết quả khi kích hoạt mục này
  • Trên tab Kích hoạt , chọn trường nhập Phím nóng và bấm Escape. Bỏ qua cảnh báo về cơ bản nói rằng bạn đang điên.
  • Hãy nhớ thêm ví dụ Terminal vào danh sách ngoại lệ - nó hoàn toàn bỏ qua Escapeviệc để toàn màn hình, nhưng nhấn Ctrl-.dịch để Ctrl-C!

Trong một số tình huống, mọi thứ sẽ hoạt động sai. Ánh xạ lại phím cho những gì thường là một phím tắt tương đương là một giải pháp búa tạ. Ví dụ, Xem nhanh , không xử lý Cmd-.(và do đó, ánh xạ lại Escapeđể đóng xem trước tệp); đổi tên tệp trong Finder không thể bị hủy bỏ nữa bằng cách sử dụng Escape, cũng như các lựa chọn, ví dụ như trong Finder sẽ bị xóa.

Trong thử nghiệm hạn chế, tôi thấy không có tình huống nhấn Cmd-.thực sự dẫn đến các hành động không mong muốn được thực hiện, nhưng lưu ý rằng những điều này có lẽ cũng tồn tại.


Tất nhiên, bạn hoàn toàn có thể bỏ qua tất cả các phím bấm Escape như thế này, nhưng điều đó sẽ mất một chút chức năng tốt ...
Daniel Beck

⌘ +. thoát khỏi chế độ toàn màn hình cho tôi trong Opera, vì vậy đây là điều không nên :(
Andy E

2

Các tùy chọn có thể của bạn bao gồm:

  1. Đặt các phím tắt thay thế cho các chức năng khác, do ESCHệ điều hành và Trình duyệt dành riêng.

  2. Điều chỉnh mã máy mã nguồn / trình biên dịch để gắn lại ESCkhóa của HĐH và Trình duyệt.

  3. Gửi yêu cầu lỗi / tính năng đối với nhà phát triển ứng dụng (ví dụ: bảng tính Google) để sử dụng sự kiện ESC thay vì cho phép thông qua.

  4. Gửi một lỗi với Apple, vì các ứng dụng đã ở đây trước tiên và Apple đã tái sử dụng khóa mà không có lý do.


3
# 1 Tôi có thể nhận được phía sau. # 2 gần như tặc lưỡi đến mức cười.
Peelman

Vâng, số dặm của bạn có thể thay đổi.
Tamara Wijsman

Các chức năng sử dụng Escapethường không có sẵn từ thanh menu và Escapekhông kích hoạt các mục menu như hiển nhiên từ "flash" bị thiếu làm nổi bật mục thanh menu chứa mục được kích hoạt.
Daniel Beck

# 4 Gửi lỗi cho Apple, vì các ứng dụng đã ở đây trước tiên và Apple đã tái sử dụng khóa mà không có lý do.
dpk

2

Tôi đã không tìm thấy câu trả lời cho macOs Sierra và cao hơn. Vì vậy, đó là cách tôi giải quyết vấn đề này.

Vì nó đã được đề xuất nên tôi đã ánh xạ lại ESC thành ⌥ + ESC. Nó thực hiện công việc và thậm chí một số chức năng khác được gán cho khóa hoạt động. Bạn sẽ có thể thoát video toàn màn hình trên một số trang web, nhưng nó sẽ không hủy tải trang.

Trước tiên, bạn cần cài đặt các phần tử Karabiner để có thể ánh xạ lại các phím

  1. Cài đặt bia /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  2. Cài đặt thùng brew tap caskroom/cask
  3. Cài đặt các phần tử karabiner brew cask install karabiner-elements

Tôi đã tạo tùy chỉnh "Sửa đổi phức tạp" cụ thể cho vấn đề này. Để cài đặt sửa đổi này, bạn phải:

  1. Mở các phần tử karabiner và chuyển đến tab "Sửa đổi phức tạp"
  2. Nhấp vào nút "Thêm quy tắc", sau đó "Nhập thêm quy tắc từ Internet"
  3. Nhập sửa đổi "Không thoát toàn màn hình khi nhấn ESC trong Safari"

1

Chỉ để thịt ra mô tả thêm một chút.

ESC được sử dụng để hủy kéo, esc được sử dụng để hủy hộp thoại, esc được sử dụng trong khi kéo để hủy di chuyển / sao chép, esc được sử dụng trong terminal trong VI để hủy lệnh chỉnh sửa

Vì vậy, có rất nhiều công dụng. Một điều kỳ lạ là Apple có chế độ hủy toàn màn hình này khi điều đó có thể xảy ra bởi ctrl-cmd-F và biểu tượng phía trên bên phải.

Điều này dường như nằm trên một ứng dụng dựa trên ứng dụng Mail và Safari và các mục iLife khác sẽ thoát khỏi toàn màn hình. iTunes vẫn ở chế độ toàn màn hình.

Reeder bỏ qua esc cho mục đích điều khiển Full window và thực hiện những điều thích hợp khác cho chương trình. Evernote thậm chí không có cmd-F hoặc ctrl-cmd-F để điều khiển cửa sổ, biểu tượng và phím esc.

Bạn dường như không thể tự ánh xạ esc đến một số hành động vô nghĩa không có hại trong bảng điều khiển bàn phím.


1
Trong Safari, ánh xạ phím Escape thành một chức năng lành tính dường như không phải là một giải pháp. Bất kể hành động nào, nó vẫn sẽ rơi ra khỏi Toàn màn hình.
Peelman

Và một lần nữa, nhấn Escapeđể hủy hộp thoại không thoát khỏi toàn màn hình .
Daniel Beck

Nhấn Escapetrong Terminal không thoát toàn màn hình .
Daniel Beck

Sử dụng Escapeđể hủy kéo không thoát khỏi toàn màn hình . Bạn thậm chí đã thử nó trước khi đăng những tuyên bố này?
Daniel Beck

Sử dụng Escapetrong Reeder để ví dụ như trả về từ một trang web bài viết đến mục RSS không thoát khỏi toàn màn hình . Nếu Escapekhông được sử dụng cho một hành động như vậy, nó sẽ thoát khỏi toàn màn hình. Như trong TẤT CẢ CÁC CHƯƠNG TRÌNH KHÁC .
Daniel Beck

1

Có vẻ như bạn đang sử dụng JQuery. Trong trường hợp đó:

Nghe KeyDown sự kiện (bấm phím và KeyUp sẽ không hoạt động) trên tài liệu với keyCode 27 , và khi sự kiện cháy gọi e.preventDefault () .

$(document).bind('keydown', function(e) {

    if (e.keyCode === 27) { // Escape key
        e.preventDefault();
        // Other code goes here    
    }

});

Yêu cầu liên quan trên MSO , hoạt động mà không cần jQuery.
Daniel Beck

1

Hãy thử OptionEsc, mà làm việc cho tôi.


1
Nó cũng không kích hoạt các hành động liên quan đến phím Escape, ví dụ như hủy bỏ việc tải trang web Safari.
Daniel Beck

1

Điều này giống như câu trả lời @ aditya-srinivasan nhắm mục tiêu Opera

<?xml version="1.0"?>
<root>
    <item>
  <!-- ============================================================ -->
  <appdef>
    <appname>OPERA</appname>
    <equal>com.operasoftware.Opera</equal>
  </appdef>

    <name>Escape to Option + Escape on Opera</name>
    <identifier>private.Opera_escape</identifier> 
    <only>OPERA</only>
    <autogen>__KeyToKey__ KeyCode::ESCAPE, KeyCode::ESCAPE, ModifierFlag::OPTION_L</autogen>
  </item>
  <!-- ============================================================ -->
</root>

Xem câu trả lời @ aditya-srinivasan khi tải xuống https://pqrs.org/osx/karabiner/index.html.en


0

Tôi quyết định đã escchuyển đến alt/option+ esc. Đối với hầu hết các phần, điều này cho phép tôi thoát khỏi các video YouTube và nếu bạn có tài khoản Squarespace, nó cho phép bạn đăng nhập mà không cần thoát khỏi toàn màn hình.

  • Tải xuống và cài đặt Karabiner .
  • Chuyển đến tab "Misc & Uninstall" bên phải nhất.
  • Nhấp vào nút có nội dung "Mở private.xml".
  • Tải xuống tệp private.xml từ đây
  • Thay thế tệp "private.xml" ban đầu trong Finder bằng tệp đã tải xuống. Voila!

0

Sử dụng BetterTouchTool hoặc KeyboardMaestro hoặc một cái gì đó tương tự như ánh xạ lại Escvới + Esc.


0

Sau một số tìm kiếm giải pháp tuyệt vọng, tôi ủy thác Safari cho một máy tính để bàn ảo riêng biệt với điều khiển Mission. Điều này giảm thiểu vấn đề ESC và cho đến nay là xấp xỉ tốt nhất với cửa sổ Safari toàn màn hình.

Không gian thưởng nếu bạn ẩn Dock.


0

DỄ DÀNG, tìm thấy nó! Bàn phímMaestro với 2 hành động

Khi nhấn " ESC" Mô phỏng nhấn (thay vào đó): - " CMD+." - THEN cũng " ALT+ ESC"

Bạn cần cả hai, vì một số ứng dụng chỉ phản ứng với đơn hàng này hoặc đơn hàng khác (đôi khi không có gì, sau đó không có gì có thể) -> theo cách này, hầu hết các ứng dụng sẽ làm như " ESC" trong ngữ cảnh của chúng, nhưng bạn sẽ không bao giờ thoát khỏi toàn bộ chế độ màn hình

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.